function GetFeed() {
  $.ajax({
    url: '../WebService/Feed.asmx/GetFeed',
    data: "{\"count\":10}",
    type: 'post',
    success: function (data) {
        //显示在页面
        for (var i=0;i<100;i++)
           {
               showdata();//这个方法就是实现展示数据的功能,假设为一行一行数据的添加的意思(一行完成,再执行下一行)
              }
    }
  });
}
现在我有个问题,可否懂的人给予帮助,问题在于 ajax可能执行太快,showdata这个方法还没执行完成,就继续for下一个语句了
  我先要的效果是showdata方法执行完成后,再接下来去执行for下个循环不知道牛牛们 可有解决方法  O(∩_∩)O谢谢了

解决方案 »

  1.   

    把 //显示在页面
            for (var i=0;i<100;i++)
               {
                   showdata();//这个方法就是实现展示数据的功能,假设为一行一行数据的添加的意思(一行完成,再执行下一行)
                  }写到外面的一个方法、并给个返回值试试
      

  2.   

    你是说for循环执行的太快,前一次的showdata()方法还没执行完就进入了下一次循环?
      

  3.   

    亲,你说的这种情况不存在,肯定是别的问题,不会说showdata()还没执行完就进入下一次循环了
      

  4.   


    亲 您说的可能是对的  我突然发现 这个showdata()方法用到了ajax  这个就变成了  for(){ajax}  这个怎么解决啊
      

  5.   

    同学 你的success里面才执行的fro 说明已经成功了
    不存在你说的那种情况哦 问题没有描述清楚
      

  6.   

    JQuery里的确会出现楼主说的情况,DOM渲染还没完成,就下一个For了
      

  7.   

    好久没有写过JS了 具体代码忘记了但是看了问题 好像是有这样的理解LZ要的是1行行的增加表格行 其实和AJAX 返回数据 没什么关联所以讲问题拆分 进行分步实现1.假设已经从AJAX中获取了所有需要增加的数据2.使用 for(){ 加行();} 理论上这样是可以实现的但是由于加行的运行速度太快了 可能变成了一次性都加载完了 那是否可以用定时的方法来做呢 比如 每1秒执行一次 每次增加5行这样 如果没有需要增加的了 就停止