多个ajax调用和数组变量

时间:2013-12-18 20:46:27

标签: javascript jquery ajax arrays

我正在遇到一些有趣的情况。在我的申请表上我有几种情况。 1.我必须从两个不同的来源获取数据。(因为我使用了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,.......... 如果任何人提供任何帮助将非常感激

1 个答案:

答案 0 :(得分:0)

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

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

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