2013-12-18 63 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