ajax 同时执行2个任务以上 时 的问题
<script language="javascript">
<br>function GetResult(url){
<br> try{
<br> xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
<br> }catch(e){
<br> try{
<br> xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
<br> }catch(E){
<br> xmlhttp = false;
<br> }
<br> }
<br>if(!xmlhttp && typeof XMLHttpRequest!=undefined){
<br> xmlhttp = new XMLHttpRequest();
<br>}
<br>xmlhttp.open("GET",url,true);
<br>var sctiou=setTimeout(function(){
<br> xmlhttp.abort();
<br>},5000
<br>);
<br>xmlhttp.onreadystatechange=function(){
<br> if(xmlhttp.readystate==4){
<br> clearTimeout(sctiou);
<br> if(xmlhttp.status==200){
<br> ......
<br> }
<br> destoryit();
<br> }
<br> else{ return ;}
<br>};
<br>xmlhttp.send(null);
<br>}
<br>
<br>
<br>window.setInterval("GetResult(update?...)",2000);
<br>window.setInterval("GetResult(update?...)",1000);
<br>
<br>当我2个不停的 调用 就会报错:
<br>var sctiou=setTimeout(function(){
<br> xmlhttp.abort(); //xmlhttp 未定义 或 为空!~
<br>},5000
<br>);
<br>当 我 把他 注释 掉后 报错:
<br>if(xmlhttp.status==200){ //xmlhttp 未定义 或 为空!~
<br> ......
<br> }
<br>汗·~ 我都郁闷死了。。。
<br>当我停止一个 setInterval 一切正常。。。
<br>
<br>我在想 是不是 那个 xmlhttp 是全局变量引起的??
<br>
<br>各位 高手 怎么解决? 别告诉我 定2个函数 就行了。。。!~

- 这是一篇来自百度知道的问题
|