2014-09-16 3 views
-1

Мои Два Ajax звонки становятся смешалосьAjax звонки получать Mixed Up

После того, как текущий вызов 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 '); 
     } 
    }); 
} 
+0

Вы должны вызвать 'fetchExistingVendors()' в функции 'success' первого вызова ajax. –

+0

Вы имеете в виду, что мне не нужно использовать, когда ?? – Pawan

+0

Метод 'when' должен работать. Что означает «смешивание»? – isherwood

ответ

0

$ .При (Async1) будет выполняться при Async1 инициализации (до ответа).

Я предполагаю, что вы хотите назвать второй аякс только в том случае, если первый успех. вызовите функцию в методе успеха:

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

Редактировать: можете ли вы уточнить, что вы подразумеваете под словом «они смешиваются»? Какая у вас ошибка? какой ответ вы получаете?

+0

Изначально я пробовал только этот путь, но реакция путается. – Pawan

+0

Что вы подразумеваете под этим? показать нам второй код ajax –

Смежные вопросы