您的位置:首页 > 其它

FireFox下Ajax同步请求onReadyStateChange不执行问题解决

2012-05-09 20:25 561 查看
在FireFox下,使用Ajax提交请求,而该请求是同步时,IE浏览器下正常使用的代码在FireFox下却不执行,主要是不执行onReadyStateChange这个方法体里面的代码,代码如下:

[javascript:nogutter]
view plaincopyprint?

[javascript:nogutter]
view plaincopyprint?

var startRequestMethod = function(obj){
var url = "http://www.xxxx.com?id=1";
xmlhttp.open("get", url, false);	//这是个同步请求
xmlhttp.send(null);
//xmlhttp.onReadyStateChange = stateChange;  //注意这儿
stateChange();
}


综合上面的,可以对同步和异步请求做个判断,做个通用化的处理,代码如下:

[javascript:nogutter]
view plaincopyprint?

var startRequestMethod = function(obj){
var url = "http://www.xxxx.com?id=1";
var ansyType = true; //默认异步
xmlhttp.open("get", url, ansyType); //这是个同步请求
xmlhttp.send(null);
if(ansyType){ //异步
xmlhttp.onReadyStateChange = stateChange;
}else{ //同步
stateChange();
}
}

测试环境:IE8+FF3.6.6
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: