js使用for循环去调用ajax请求后台刷新页面

因为后台查询的内容太多,不能及时返回页面,现在需要把页面请求拆分为一个个请求---for循环,然后使用ajax返回数据到页面刷新,但是为什么进入页面是空白的,必须等所有的请求完成才一次性加载数据到页面,而不是请求完成一个加载一个数据。

var taskArray=new Array("01","02","03","04","05","06","07");
for(var i=0;i<7;i++){
   taskParam = taskArray[i];
   $.ajax({
    url:"<%=basePath%>TestServlet?method=query&taskParam="+taskParam,
    type:"post",
    data:{},
    dataType:"json",
    async : false, //默认为true 异步
    error:function(jqXHR, textStatus, errorThrown){

    alert("查询任务出现异常:"+errorThrown);

   },
   success:function(data){
     var message = data.message;

     var spanid = 'span_'+taskParam ;

     document.getElementById(spanid).innerText = message ;

  }}

body是7个span

怎么让for里面,请求返回一次,刷新一个span,而不是等所有请求完成才一起刷新

MMMHUHU
浏览 441回答 6
6回答

素胚勾勒不出你

肯定要灯七个span都加载完成后才能显示页面了,难道还能先显示页面,然后再一个一个生成span?那就算生成了你页面也显示不出来

慕田峪4524236

   async : false, //默认为true 异步 

www说

什么意思呢?是设置async : false, ???我这个已经设置了。

叮当猫咪

1L都已经回答你了 把async : false去掉就可以了 默认是true的 

郎朗坤

不行,试过了

回首忆惘然

1 var taskArray=new Array("01","02","03","04","05","06","07"); 2 for(var i=0;i<7;i++){ 3 taskParam = taskArray[i]; 4 $.ajax({ 5 url:"<%=basePath%>TestServlet?method=query&taskParam="+taskParam, 6 type:"post", 7 data:{}, 8 dataType:"json", 9 async : false, //默认为true 异步 10 error:function(jqXHR, textStatus, errorThrown){ 11 alert("查询任务出现异常:"+errorThrown); 12 }, 13 success:function(data){ 14 var message = data.message; 15 var spanid = 'span_'+taskParam ; 16 document.getElementById(spanid).innerText = message ; 17 } 18 }); 19 }//代码没闭合,还是没有贴出来完。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript