大家好,欢迎来到IT知识分享网。
在FireFox下,使用Ajax提交请求,而该请求是同步时,IE浏览器下正常使用的代码在FireFox下却不执行,主要是不执行onReadyStateChange这个方法体里面的代码,代码如下:
var stateChange = function(){
if(xmlhttp.readyState == 4){
if (xmlhttp.status == 200){
//需要执行的代码
}else{
alert(“操作失败!”);
}
}
}
var loadXMLDoc = function(){
var xmlhttp = null;
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}else if (window.ActiveXObject){
xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP”);
}
return xmlhttp;
}
查了资料后发现,FireFox3下同步请求不需要等待onReadyStateChange,而直接执行后续代码,于是只要将原先代码中
xmlhttp.onReadyStateChange = stateChange; 这句注掉,然后直接调用stateChange()方法。代码如下:
综合上面的,可以对同步和异步请求做个判断,做个通用化的处理,代码如下:
测试环境:IE8+FF3.6.6
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/6926.html