2013-12-18 31 views
0

我正在运行一些有趣的情况。在我的应用程序中,我有几种情况。 1.我必须从两个不同的来源获取数据(为此我使用了ajax调用)。 2.我必须操纵那些相互比较的数据。如果两者都等于第三个数组,则将从第一个数组的第一个数组获取值。最终我必须返回第三个值并在我的图表上工作。多个ajax调用和数组变量

所以,我有:

getData : function(){ 
    var bubbleArray= []; 
    var companyData=[]; 
    var managerData =[]; 
    $.ajax({ 
     async: false, 
     url: "data/companyData.json", 
     dataType: "json", 
     success: function (bubbleJsonData){ 
    $.each (bubbleJsonData.main.DATA_RECORD, function(index, response){ 
      if(response.C_HRS!=0&&response.D_CUST_HRS!=0){ 
    companyData.push([(response.C_HRS/442)*100, (response.D_CUST_HRS/442)*100, ((response.D_CUST_HRS/response.C_HRS)*100), response.C_HRS, response.D_CUST_HRS, response.CPY_NAME ]); 
      } 
      }); 
     }, 
    error: function(jqXHR, textStatus, errorThrown){ 
    alert("Error:"+ errorThrown); 
      } 
//ajax call to get the managerData. 
$.ajax({ 
      async: false, 
      url: "data/managerData.json", 
      dataType:"json", 
      success: function(managerjsonData){ 
      $.each (managerjsonData.main.DATA _RECORD, function(index, responsedata){ 
      if(responsedata.CPY_NAME!=""){ 
      managerData.push([responseData.CPY_NAME]); 
      } 
      }); 
      }, 
      error: function(jqXHR, textStatus, errorThrown){ 
      alert("Error:"+ errorThrown); 
      } 

      }); 

    }); 

现在,我有比较managerData。 CPY_NAME with companyData.CPY_NAME如果找到的匹配生成bubbleArray,则用companyData的详细信息表示bubbleArray应该有C_HRS,D_CUST_HRS,.......... 如果有任何人可用的帮助将不胜感激

回答

0

您需要等到两个请求都完成并将结果保存在某个变量中,然后再进行比较。

var yourAjaxRequests = []; 
var jqXHR = $.ajax(); 
yourAjaxRequests.push(jqXHR); 

$.when.apply($, yourAjaxRequests).done(function() { 
    /* compare logic here */ 
); 
+0

是啊我有一种感觉.....但我不知道如何将这个代码放在我的应用程序中。 – DC1

+0

仍然没有得到它正确的,谢谢无论如何! – DC1