我的一个页面上有这个聊天系统,它使用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(那就是我所说的主页)
答案 0 :(得分:0)
我发现了问题。
在我的process.php脚本中,我会记录我来自哪个页面,然后返回该页面。好像ajax脚本会覆盖这个,脚本会使它转到错误的页面。我现在已经将process.php脚本的一部分设置为现在只转到community.php。