Ajax呼叫变得混乱

时间:2014-09-16 20:45:31

标签: jquery

我的两个Ajax调用正在混淆

一旦完成当前的ajax调用,我想调用 fetchExistingVendors 这是另一个Ajax调用

我尝试使用Jquery解决它的时候,但是他们仍然混淆了

 if (confirm("Add this vendor to your current location?") == true)
{
    var async1 =  $.ajax({
        type: 'GET',
        url: 'http://localhost:8080/OrderSnacks/oms/savenewrestaurant?cust_id='+cust_id,
        jsonpCallback: 'jsonCallback',
        dataType: 'jsonp',
        jsonp: false,
        success: function(response) {
            var resp = response;
            if(resp==true)
            {
                displayingRestaurantsForLabel(temp_location , cust_id);

            }
            else
            {
                alert('Error Inserting Please Try Again');
            }
        },
        error: function(e) {
            alert('Error inside Fill form request');
        }
    });
    $.when(async1).done(function() {
        fetchExistingVendors(cust_id);
    });
}

 This is second Ajax call


function fetchExistingVendors(cust_id)
{
    //  debugger;
    exisitngvendors = [];
    var url = "http:localhost:8080"
    $.ajax({
        type: 'GET',
        url: url+'/OrderSnacks/oms/fetchexistingvendors?cust_id=' + cust_id,
        jsonpCallback: 'jsonCallback',
        cache: true,
        dataType: 'jsonp',
        jsonp: false,
        success: function (responsesss) {
            // showExistingRestaurantAreas(response);
            console.log('hiiiiiiiii'+JSON.stringify(responsesss));
            if(responsesss.length>0)
            {
                alert('length is');
                for(var i=0;i<responsesss.length;i++)
                {
                    if(responsesss[i].vendor_id==='undefined')
                    {
                    }
                    else
                    {
                        exisitngvendors.push(responsesss[i].vendor_id);
                    }
                }
            }
        },
        error: function (e) {
            alert('Into error ');
        }
    });
}

1 个答案:

答案 0 :(得分:0)

$。何时(async1)将在async1初始化时(响应之前)运行。

我猜你只想在第一个ajax成功的时候调用它。在success方法中调用函数:

success: function(response) {
        var resp = response;
        if(resp==true){
            displayingRestaurantsForLabel(temp_location , cust_id);
            fetchExistingVendors(cust_id);
        }
        else{
            alert('Error Inserting Please Try Again');
        }

编辑:你能澄清“他们混淆”是什么意思吗?你得到什么错误?你得到的回应是什么?