Ajax无法通过readyState 1,为什么?

我正在尝试让这个函数工作,它请求参数url,然后将responseText发送到callback,这是一个函数

似乎它只能访问readyState 1(多亏了Firebug命令)

这是:

函数请求(url,回调){
如果(window.XMLHttpRequest){//Mozilla,Safari。。。
httpRequest=新的XMLHttpRequest();
}如果(window.ActiveXObject){//IE
httpRequest=新的ActiveXObject(“Microsoft.XMLHTTP”);
}否则{
返回false;
}
httpRequest.onreadystatechange=函数(){
log(httpRequest.readyState);
if(httpRequest.readyState==4){
回调(httpRequest.responseText);
}
};
log(httpRequest,url);
httpRequest.open(’GET’,url,true);
httpRequest.send(空);
}

我解决了分配onload事件而不是onreadystatechange的问题:

函数请求(url,回调){
如果(window.XMLHttpRequest){//Mozilla,Safari。。。
httpRequest=新的XMLHttpRequest();
}如果(window.ActiveXObject){//IE
httpRequest=新的ActiveXObject(“Microsoft.XMLHTTP”);
}否则{
返回false;
}
var readyStateChange=函数(){
log(httpRequest.readyState);
if(httpRequest.readyState==4){
回调(httpRequest.responseText);
}
};
如果(iFirefox&firefoxVersion>3){
httpRequest.onload=readyStateChange;
}否则{
httpRequest.onreadystatechange=readyStateChange;
}
log(httpRequest,url);
httpRequest.open(’GET’,url,true);
httpRequest.send(空);
}

发表评论