形式与ajax脚本混淆了

时间:2011-08-22 11:37:16

标签: php ajax

我的一个页面上有这个聊天系统,它使用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(那就是我所说的主页)

1 个答案:

答案 0 :(得分:0)

我发现了问题。

在我的process.php脚本中,我会记录我来自哪个页面,然后返回该页面。好像ajax脚本会覆盖这个,脚本会使它转到错误的页面。我现在已经将process.php脚本的一部分设置为现在只转到community.php。