2015-09-30 3 views
0
$.ajax({ 
    type: 'POST', 
    url: searchpage, 
    dataType: "json", 
    data: { 
     id: id 
    }, 
    success: function(data) { 
     var id1 = []; 
     for(var i = 0; i < data.length; i++){ 
      id1 .push({ 
       id1 : data[i].id 

      }); 
      $("#printtdownername").text(data[i].fullname); 
      $("#printtdownerbday").text(data[i].bday); 
      $("#printtdownerage").text(data[i].age); 
     } 
     $.ajax({ 
      type: 'POST', 
      url: 'searchpage1', 
      dataType: "json", 
      data: { 
       id1: JSON.stringify(id1) 
      }, 
      success: function(data) { 

      }, 
      error: function(data) {} 
     }); 

    }, 
    error: function(data) { 

    } 
}); 

В моем проекте мне нужно отправить запрос AJAX на конкретное событие, и когда этот запрос будет успешным, я хочу отправить другой запрос AJAX. Сейчас он работает нормально, так как моя база данных невелика.AJAX ЗАПРОС С ЗАПРОСОМ AJAX jQuery

Мой вопрос будет ли это иметь отрицательный эффект, если, например, у меня есть большая база данных. Если это не очень хорошая практика, как я должен заниматься этим сценарием. Мне нужен идентификатор id1 от ответа первого AJAX, чтобы отправить второй AJAX.

+0

Единственный недостаток заключается в том, что второй аякс не будет запущен до завершения первого. поэтому, если первый из них занимает много времени, пользователь может просматривать и отправлять формы и т. д., не дожидаясь отправки второго аякса даже для отправки. Другое, тогда я так и сделаю. –

+1

Я думаю, что вы должны сделать эту логику на сервере и сохранить один запрос, 2 запрос неэффективен – Saqueib

+0

@VolkanUlukut, вот что я сейчас думаю о медленном времени реакции из-за больших данных. Во всяком случае, сделать это немного лучше с точки зрения времени реакции? –

ответ

-2
$.ajax({ 
    type: 'POST', 
    url: searchpage, 
    dataType: "json", 
    data: { 
     id: id 
    }, 
    success: function(data) { 
     var id1 = []; 
     for(var i = 0; i < data.length; i++){ 
      id1 .push({ 
       id1 : data[i].id 

      }); 
      $.ajax({ 
       type: 'POST', 
       url: 'searchpage1', 
       dataType: "json", 
       data: { 
       id1: JSON.stringify(id1) 
       }, 
       success: function(data) { 

       }, 
       error: function(data) {} 
     }); 

     } 


    }, 
    error: function(data) { 

    } 
}); 

Попробуйте это. Я думаю, что это может быть полезным для вас

здесь является рабочим примером: Example

для Избегайте ненужные запросы называют, что после цикла.

+0

, это не сработает. id1 не определяется в контексте второго ajax. –

+0

@VolkanUlukut: id1 доступен для второго запроса ajax, поскольку он находится в пределах области действия. var 'id1 = [];' ajax-запрос и идентификатор оба в той же области успеха. – urfusion

+0

id1 должен быть массивом, который отправляется после заполнения его значениями. то, что вы сделали, отправляет id1 для каждой итерации, создавая тонны ненужных запросов. –

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