2011-01-21 2 views
0

Я пытаюсь связать вызовы ajax: когда я загружаю содержимое html во все элементы, я хочу загрузить его в другие. Я хотел бы обойтись без hardcode вызовов в каждом элементе с закрытием, прикрепленным к локальным событиям ajax. я пытался сделать с глобальными АЯКС событий следующим образом:Как было бы лучшим способом цепочки вызовов ajax (один вызов ajax-пожара другой)?

$("#elem2").ajaxSuccess(function(e,x,opts) { 
    var myUrl="server/elem2" 
    if(conditionToAvoidRecursiveCalls) 
    $(this).load(myUrl) 
}) 

, но я не понимаю, как определить conditionToAvoidRecursiveCalls:! E.target = это не работают и opts.url == URL DonT избежать взаимно рекурсивных вызовов ,

Есть ли другой умный способ?

+0

Не совсем уверен, понимаю ли я, что вы пытаетесь сделать, но, услышав «цепочку аякс-звонков», я хочу спросить вас, если бы вы посмотрели на метод 'queue()' jQuery: http://api.jquery.com/queue/? – polarblau

+0

jumm im fear is not was clear, «цепочка» находится только между вызовом ajax и некоторыми другими, которые должны быть названы «по умолчанию», т. Е. загрузите вкладку через ajax, нужно перезагрузить панировочные сухари на странице. Я думаю, что у меня нет проблем с условиями гонки или порядком звонков. Спасибо за ссылку на этот плагин, так или иначе, он опрятен – jneira

ответ

1

Ну решение было проще, чем я thougth, есть вариант в Ajax вызова, который уже делать то, что я хочу (глобальная ложь):

var html=$.ajax({url: url,global:false}).responseText 
$(this).html(html) 

глобальный Логическое По умолчанию: истинно

Нужно ли запускать глобальное событие Ajax обработчиков для этого запроса. Значение по умолчанию - . Установите значение false, чтобы предотвратить запуск глобальных обработчиков , таких как ajaxStart или ajaxStop. Это может использоваться для управления различными событиями Ajax .

0

Использование Ajax Queue плагин. Это написано самим Джоном Ресигом.

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

  • Нет связанных вопросов^_^