2012-05-15 5 views
0

Хорошая практика для цепочки звонков Ajax? Я знаю, что вызовы ajax асинхронны, но у меня есть обстоятельство, когда я хотел бы вызвать другой вызов ajax, основанный на успехе или ошибке первого вызова. Код выглядит примерно так:Правильная форма для JQuery Ajax call

$.ajax({ 
    url:'urlToFile.html', 
    success:function(result){ 
     $.ajax({ 
      url:'secondAjaxCall.html', 
      success:function(result){ 
      alert("past"); 
      }, 
      error: function(result) { 
      alert("no connection"); 
      } 
     }); 
    }, 
    error: function(result) { 
     alert("no connection"); 
    } 
}); 
+0

Я обязательно сделаю это. Я был очень благодарен за всю помощь, которую я получил здесь. Мне потребовалось несколько сообщений, чтобы понять систему рабочих процессов и точек. – mkrisch

+0

Nice - 100% сейчас. Спасибо за согласие на этот! – jmar777

ответ

1

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

+0

Это то, что вы имеете в виду для библиотеки потока управления? http://dailyjs.com/2011/11/14/popular-control-flow/ – mkrisch

+0

Точно. Фактически я использовал [этот] (https://github.com/caolan/async) во многих случаях (хотя в node.js - он должен работать и в браузере, хотя). Но опять же, я не думаю, что вам нужно приложить больше зависимостей для вашей ситуации. Цель состоит в том, чтобы сделать ваш код более понятным, и то, что вы разместили, по-прежнему выглядит вполне управляемым и прямым для меня. – jmar777