2010-02-27 64 views
1

什么是循环浏览ajax调用结果,发送另一个ajax调用,并使用结果绘制表的最佳方法? 我在循环内使用jquery $ .ajax遇到了很大的麻烦。即使当我将async设置为false时。我从来不知道最后一点数据何时可用。我尝试将所有数据推送到包含数组的对象,但是当数组完全加载时,我需要调用表来绘制。循环内的Ajax连续调用

var that = this; 

jobdata.ajaxCall(function(json) { 
     $.each(json, function(p, pitem) { 

      var itemObj = that.getItembyId(pitem.ItemCode); 
      if (itemObj === undefined) 
      { 
       itemObj = new Item(pitem.ItemCode); 
      } 
      itemObj.loadItemDetail(function() { 
       that.itemlist.push(itemObj); 

      }); 


     }); 

回答

2

由于您要返回JSON字符串,为何不将整个结果放入JSON字符串中。那么你只能做一个AJAX调用。成功回调将用于解析JSON对象并填充表。

也许是这样的:

$.ajax({ 
     url: url, 
     dataType: 'json',   
     success: callback 
    }); 

    function callback(table){ 
     $.each(table.row, function(row){ 
      //process each row  
     }); 
    } 
+0

我很想,但第一个结果是一个Web服务,第二个是从数据库。他们来自两个不同的来源。 – 2010-02-27 12:00:04