同步就是阻塞了   什么都不跑   怎么跑取消指令啊?
-------------------------<script>
setTimeout(function(){
   xmlhttprequest.abort();
}, 2000);while(true) {
    xmlhttprequest = ajax同步请求;
}
</script>

解决方案 »

  1.   

    while(true) {
    //你这里如果没有break语句就死循环了,即使你用settimeout终止了xmlhttprequest的同步请求也跳不出这个循环
        xmlhttprequest = ajax同步请求;
    }
      

  2.   

    //你这里如果没有break语句就死循环了,即使你用settimeout终止了xmlhttprequest的同步请求也跳不出这个循环
    我上面给出的只是部分代码说明, 关键问题是如何中止同步请求,abort怎么实现? var flag = true;
    var xmlhttpRequest; setTimeout(function(){
    flag = false;
    if (xmlhttpRequest && xmlhttpRequest.abort) {
    xmlhttpRequest.abort();
    }
    }, time); while(flag) {
    xmlhttpRequest = $.ajax({
    url: "http://www.google.com",
    async: false,
    cache: false
    });
    };
      

  3.   

    你不是用setTimeout在time时间后终止了??
    不知道你想干什么了....
      

  4.   

    你不是用setTimeout在time时间后终止了?? 
    不知道你想干什么了....
    ------------我们知道用XMLHttpRequest.abort()可以中断ajax的异步请求,但是如何中断ajax的同步请求呢? 
      

  5.   

    同步的话好象用setTimeout也不能执行了.
    刚才试了下,setTimeout执行不了
      

  6.   

    js是单线程的~setTimeout就算时间到了也要等到上一个指令跑完啊~~~
      

  7.   

    var  time = setTimeout()
    結束這個 時間 可以達到效果不?
      

  8.   

    之前讨论过这一问题:用ajax模拟sleep:方法1:访问服务器端的某网址,在服服器端sleep.----缺点:增加服务器的负担,会由于网络的原因导致精度不准或错误
    方法2:循环访问一个不存在的网址.------缺点:耗用百分之三四十的cpu,(不是百分百)方法2代码:
    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>JK:支持民族工业,尽量少买X货</title><script language=javascript>function sleep(num) //JK
    {
    var tempDate=new Date();
    var tempStr="";
    var theXmlHttp = new ActiveXObject( "Microsoft.XMLHTTP" );
    var goneMsel=0;
    while(goneMsel<num )
    {
    goneMsel=new Date()-tempDate;
    tempStr+="\n"+goneMsel;
    var url="about:blank?JK="+Math.random();
    if(num-goneMsel>1000) url="http://d:";
    try{
    theXmlHttp .open( "get",url , false );
    theXmlHttp .send();
    }
    catch(e){;}
    }
    containerDiv.innerText=tempStr;
    return;
    }
    </script>
    </head><body>
    js不耗(耗得比较少)cpu的
    sleep(ms):<input value=10000 name=aaa > ,<input type=button value="alert(0);sleep(..);alert(1);" onclick="alert(0);sleep(document.all.aaa.value);alert(1);"> <div id=containerDiv>
    </div>
    </body></html>