xmlhttp readystatechange为null

时间:2016-04-14 22:57:39

标签: javascript angularjs

在下面的javascript代码中,当我在firebug调试模式下鼠标悬停在xmlhttp.onreadystatechange上时,我变为null。我之前写过很多这样的代码,但我不明白为什么它会给出null。永远不会调用写在xmlhttp.readystatechange上的函数。有什么帮助吗?

    var query= {"input": {"ip-list" : [{"ip-address": "23.23.23.23"}]}};
    var xmlhttp = new XMLHttpRequest();
    var url = "/servlet/dashboard/Manage?action=getInfo";
    xmlhttp.open("POST", url, true);
    xmlhttp.setRequestHeader("Authorization", getAuthString());
    xmlhttp.setRequestHeader("Content-type", "application/json");
    xmlhttp.onreadystatechange = function() { 
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            if (xmlhttp.responseText){
                console.log('test');  
            }
        };
        xmlhttp.send(JSON.stringify(query));
    }

1 个答案:

答案 0 :(得分:0)

想出我的错误,花了一个多小时。我在readystatechange中编写了xmlhttp.send。所以它永远不会被召唤。

更正后的代码:

    xmlhttp.onreadystatechange = function() { 
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            if (xmlhttp.responseText){
                console.log('test');  
            }
        }   
    };
    xmlhttp.send(JSON.stringify(query));