这段代码不知道为什么在火狐与IE都没有作用.如果是取消(xmlhttp.readyState==4 && xmlhttp.status==200)这个判断,在火狐下就会出现多次弹出,并且有一次获取到数据。在IE下依然不行,问题出在哪里?
1 <script language="javascript" type="text/javascript"> 2 <!-- 3 function loadXMLDoc() 4 { 5 var xmlhttp; 6 if(window.XMLHttpRequest) 7 { 8 xmlhttp=new XMLHttpRequest(); 9 } 10 else 11 { 12 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 13 } 14 xmlhttp.onreadystatechange=getHTML; 15 xmlhttp.open("GET","postSend.html",true); 16 xmlhttp.send(null); 17 function getHTML() 18 { if(xmlhttp.readyState==4 && xmlhttp.status==200) 19 { 20 var code=xmlhttp.responseText; 21 alert(code); 22 } 23 } 24 } 25 //--> 26 </script>
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");这个不一定就符合你的IE,IE下好像有几个版本的
用firebug来看看你的代码调用一次,发出了几次请求
我觉得判断是不能取消的,问题应该是出在
postSend.html这个里头,它没有正常返回数据吧,你用火狐看看错误的消息是什么
创建 XMLHttpRequest 对象
xmlhttp=new XMLHttpRequest();这个适用于所有现代浏览器 (IE7+、Firefox、Chrome、Safari 以及 Opera)
老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
所以你用的浏览器应该都可以的
@念念啊: 我刚测试了你的这段代码没有问题的,只弹出一次
火狐没有显示错误,在FIREBUG上面也没有错误,这才让人烦。。
@念念啊: 这是为什么呢??
@念念啊: 你用的是什么版本的火狐浏览器?我用的是:16.0.1 firefox
你把send(null) 改成 send(); 试试
没有用啊!没有任何变化!
用你的代码跑了没有任何问题,只能说是你的后台有问题了。
现在的问题是就是在这里,到底后台是个什么问题呢?
还好这里说的都不是我的代码问题,小安慰一下。。