首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

小弟我们爱分享-在JS中循环调用AJAX方法

2012-04-25 
我们爱分享---在JS中循环调用AJAX方法JScript code代码:var ifor(i0i10i++){ajaxServise(i)} 在for

我们爱分享---在JS中循环调用AJAX方法

JScript code
代码:var i;for(i=0;i<10;i++){      ajaxServise(i);} 在for循环中调用ajax方法  补充页面上的数据,这样写是错误的,他不会每执行一次for循环就执行一次ajax方法,而是等for循环结束才去执行ajax方法,所以导致ajax只被执行一次。然而当修改如下: for(i=0;i<10;i++){      alert("aa");      ajaxServise(i);}与上面不同的是在每次调用的时候都弹出一个窗体  alert("内容随意")  这样就可以在页面正确显示内容 而不是一条内容 原因:原因就是for循环在JS中是单线程的,他会在for循环结束之后然后执行下一步,一步一步进行实现,而alert切断循环,让程序响应一次,从而再次调用ajax方法,然而在程序当中我们却不能让alert方法出现。解决办法:var i=0;var sum=10;var time;ajaxServise(i){       if(i==sum){            clearTimeout(time);        }        i=i+1;        time = setTimeout(ajaxServise(),10);        ……………………        ………………        …………        ……}  这里用setTimeout(AJAX())方法进行调用,setTimeout会当此方法执行完毕然后再次执行AJAX()方法,用setTimeout与clearTimeout配合完美解决此问题。 PS:setTimeout是伪多线程。


[解决办法]
有啥问题不能再一次请求中完成,非要循环请求呢?

热点排行