我正在尝试让这个函数工作,它请求参数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(空);
}