Предпочтительный метод ожидания AJAX в JavaScript - PullRequest
1 голос
/ 25 августа 2010

В эти дни мне часто приходится ждать AJAX в jQuery.Проблема в том, что я должен делать петли и дерьмо, чтобы ждать их.Какими способами я могу дождаться завершения события AJAX перед выполнением кода (желательно без выполнения дополнительных функций)?

Ответы [ 3 ]

1 голос
/ 25 августа 2010

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

Сначала определите флаг и установите его изначально как false. Всякий раз, когда вы отправляете свой запрос AJAX, проверьте, не установлен ли этот флаг на ложь. Если это так, тогда продолжайте с запросом - не прежде, чем установить флаг в истинное мнение. Как только AJAX-запрос завершен, установите флаг обратно в false.

Используя вышеописанный метод, одновременно будет запущен только один экземпляр AJAX-запроса. Я уверен, что у jQuery должен быть способ узнать, обрабатывается ли уже запрос AJAX или нет, но я человек из MooTools.

0 голосов
/ 25 августа 2010

Из API jQuery:

$.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John&location=Boston",
   success: function(msg){
     alert( "Data Saved: " + msg );
   }
});

Существует также полная опция, которую вы можете использовать.

http://api.jquery.com/jQuery.ajax/

0 голосов
/ 25 августа 2010

Какой метод вы используете для выполнения вызовов AJAX? Если вы используете встроенный $.ajax(), вы можете установить свойство success для функции обратного вызова, которая будет вызываться после успешного возврата AJAX-запроса. Существует также обратный вызов complete, который всегда будет вызываться независимо от того, успешно он или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...