AJAX请求不会进入readystate 4

时间:2014-04-01 18:37:13

标签: javascript php ajax

我第一次尝试使用AJAX而且我遇到了一个问题。我没有通过阅读教程来解决这个问题。

我的服务器上有一个PHP文件,当我直接访问文件时,它会回显正确的输出。但是当我尝试通过HTML访问它时。这是我的javascript代码:

        var httpRequest;

        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            httpRequest = new XMLHttpRequest();
        } else if (window.ActiveXObject) { // IE 8 and older
            httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
        }

        httpRequest.open('GET', 'http://www.mysite.com/myfile.php?variable1=' + variable1 + "&variable2=" + variable2, true);
        httpRequest.onreadystatechange = function() {
            if (httpRequest.readyState === 4) {
                var receivedString = httpRequest.responseText;
                console.log(receivedString);
            } else {
                console.log(httpRequest.readyState);
            }
        };
没有任何反应;既不输出receiveString也不输出httpRequest.readyState的值。可能是什么原因?

1 个答案:

答案 0 :(得分:2)

httpRequest.send(null);附加到您的代码中。

在调用send方法之前,请求不会发送到服务器,因此readyState属性不会更改,并且onreadystatechange事件不会被触发。