写了个页面,大概的意思就是对表格中的tr进行遍历,每个tr都向服务器发送数据并且获得结果。有没有办法实现在所有的tr都遍历并且获取服务器数据后再执行一个特定的函数。

解决方案 »

  1.   

    可以采用递归试试,在ajax的回调函数中在执行特定的函数
      

  2.   

    开始琢磨着定义几个变量来统计数量。。不过发现没有判断的地方 在$.ajax()方法外面的话只能执行一次。。执行的时候可能还没获取服务器数据。。在里面的话又不知道写在哪里。。
      

  3.   

    setInterval 间隔一定时间判断执行
      

  4.   

    看你这个操作,这么多信息要处理,那就不要用ajax了。先在后台取得想要的数据然后在前台来展现吧。
      

  5.   

    function 涵数名()
    {
    遍历所有tr的代码
    $.ajax(function(){//获取服务器一个值
    success:function(){服务器返回值到了,加上前面遍历tr的结果,作相应的操作。}
    });
    }
      

  6.   

    var bln = false;
    $.ajax({
       url: "",
       data: {
           arrData: "1,2,3,4,5...." //集中一次性把tr的关键键数据传到后台,如果数据比较多的话。。
           /*
           arrIDs: "1, 2, 3, 4, 5, 6...",
           arrNames: "a, b, c, d, e...."  //多传几个参数,省得后台处理起来不方便。
           如果数据还是多的不得了。自定义分批.
           index: 1 //第一次发送, 一次发送多少个,自己决定。在ajax参数加async: false, 以保证数据全部得到处理。然后在success中, 处理完后,设bln = true; 再次调用同一function. 重设bln = false, index + 1, 直到返回结果为空。
           */
       },
       success: function(obj){
             //分析结果, 拆分结果, 转换....
             再执行。
       }
    });
      

  7.   

    楼上的几位可能没太明白我的意思。。3楼正解。。通过setInterval 和clearInterva完美解决