Javascript Ajax readyState始终返回0
这段Ajax代码有问题,每次访问“readyState”时都返回0。我还不知道问题的根源是什么,如有任何帮助,将不胜感激:Javascript Ajax readyState始终返回0,javascript,ajax,Javascript,Ajax,这段Ajax代码有问题,每次访问“readyState”时都返回0。我还不知道问题的根源是什么,如有任何帮助,将不胜感激: var xhr = null; function performAjax(inputUrl){ // instantiate XMLHttpRequest object try{ xhr = new XMLHttpRequest(); alert("XMLHttpRequest"); } catch(e){
var xhr = null;
function performAjax(inputUrl){
// instantiate XMLHttpRequest object
try{
xhr = new XMLHttpRequest();
alert("XMLHttpRequest");
}
catch(e){
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
// handle old browsers
if( xhr == null ) {
alert("Ajax not supported by your browser");
return;
}
// get the URL
var url = inputUrl;
alert(inputUrl);
// get Ajax answer
xhr.onreadystatechange = handler();
//alert(xhr.readyState);
xhr.open("POST", url, true);
xhr.send(null);
}
function handler() {
alert("Handler: " + xhr.readyState + " Status: " + xhr.status);
// handle only loaded requests
if(xhr.readyState == 4) { // state 4: that data has been received
alert("here");
if(xhr.status == 200) {
alert(xhr.reponseText);
}
else alert("Error with Ajax");
}
}
您未正确分配处理程序函数:
xhr.onreadystatechange = handler; // <--- THERE SHOULD BE NO PARENTHESES
xhr.onreadystatechange=handler;/:)知道了!非常感谢@塞巴斯蒂安:不,不,它不应该有括号;括号就是问题所在。