我第一次尝试使用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的值。可能是什么原因?
答案 0 :(得分:2)
将httpRequest.send(null);
附加到您的代码中。
在调用send
方法之前,请求不会发送到服务器,因此readyState
属性不会更改,并且onreadystatechange
事件不会被触发。