带有HTTP请求的Ajax JavaScript输出未定义的显示2

时间:2016-01-07 05:23:41

标签: javascript jquery ajax

我正在制作本地聊天应用程序我的问题是它显示未定义的结果然后在显示所有数据后正常工作。

这是代码:

function chatDisplay(){
        if(mainchat.msg.value== ""){
            alert("fill in blanks");
            return;
        }
        var uname = $_SESSION['username'];
        var msg = mainchat.msg.value;
        var xhttp = new XMLHttpRequest();
        xhttp.onreadystatechange = function(){
            if(xhttp.readyState == 4 && xhttp.status==200){
                document.getElementById("chatlogs").innerHTML = xhttp.reponseText;
            }
        };
        xhttp.open("GET", "insert.php?uname="+uname+"&msg="+msg, true);
        xhttp.send();
        $(document).ready(function(){
            $.ajaxSetup({cache:false});
            setInterval(function(){
                $("#chatlogs").load("logs.php");}, 2000);
        });
    }

chat image

2 个答案:

答案 0 :(得分:0)

我能看到这一点的唯一地方就是这一行:

document.getElementById("chatlogs").innerHTML = xhttp.reponseText;

reponseText可以是未定义的一种方法是返回(或看起来像)XML,在这种情况下设置responseXML。

快速“修复”将是:

document.getElementById("chatlogs").innerHTML
    = xhttp.reponseText ? xhttp.reponseText : "";

当然,问题可能出在你没有与我们分享的代码中。

答案 1 :(得分:-1)

尝试这样的事情。请让我知道它对你有帮助吗???

document.getElementById("chatlogs").innerHTML = xhttp.reponseText | "";