我的一个页面上有一个聊天系统,它使用ajax每10秒自动更新一次。我也有一个普通的html表单。ajax请求发送一个名为chatAjax.php的文件,表单向process.php发送数据
如果用户在计时器到期之前提交表单,则系统正常工作。但是,由于某些原因,如果用户需要一段时间来输入数据,数据将被发送,然后用户登录chatAjax.php,而不是返回主页。我不知道发生了什么,process.php也没有对chatAjax.php的引用。那么为什么它们最终会出现在chatAjax.php上呢
下面是ajax脚本:
function refresh(){
var ajaxRequest;
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
document.getElementById("Chats").innerHTML= ajaxRequest.responseText;
}
}
ajaxRequest.open("POST", "chatAjax.php", true);
ajaxRequest.send(null);
setTimeout("refresh()",10000);
}如果您想进一步了解,请访问http://www.cogtek.co.cc/community.php (这就是我所说的主页)
发布于 2011-08-23 14:18:25
我发现了问题所在。
在我的process.php脚本中,我会记录我来自哪个页面,然后返回到那个页面。似乎ajax脚本覆盖了这一点,并且脚本会让它转到错误的页面。我现在已经将process.php脚本的一部分设置为现在只转到community.php。
https://stackoverflow.com/questions/7146877
复制相似问题