Spec-Zone.ru › jQuery

Событие ajaxComplete

.on( "ajaxComplete", handler )Возвращает: jQuery

Описание: Регистрирует обработчик, который вызывается при завершении запросов Ajax. Это событие Ajax.

  • версия добавлена: 1.7.on( "ajaxComplete", handler )

    • "ajaxComplete"
      Тип: строка
      Строка "ajaxComplete".
    • handler
      Тип: Функция( Событие event, jqXHR jqXHR, Объект ajaxOptions )
      Функция, которая должна быть вызвана.

Эта страница описывает событие ajaxComplete. Для устаревшего метода .ajaxComplete(), см. .ajaxComplete().

Всякий раз, когда запрос Ajax завершается, jQuery вызывает событие ajaxComplete. В этот момент выполняются все зарегистрированные обработчики ajaxComplete.

Чтобы наблюдать за работой этого метода, настройте базовый запрос Ajax load:

<div class="trigger">Trigger</div>
<div class="result"></div>
<div class="log"></div>

Прикрепите обработчик события к документу:

$( document ).on( "ajaxComplete", function() {
  $( ".log" ).text( "Triggered ajaxComplete handler." );
} );

Теперь выполните запрос Ajax с помощью любого метода jQuery:

$( ".trigger" ).on( "click", function() {
  $( ".result" ).load( "ajax/test.html" );
} );

Когда пользователь нажмёт элемент с классом trigger, и запрос Ajax завершится, сообщение в журнале отобразится.

Все обработчики ajaxComplete вызываются независимо от того, какой запрос Ajax был завершён. Если необходимо различать запросы, используйте параметры, передаваемые обработчику. Каждый раз, когда выполняется обработчик ajaxComplete, ему передаётся объект события, объект XMLHttpRequest и объект настроек, который использовался при создании запроса. Например, вы можете ограничить обратный вызов, обрабатывая только события, относящиеся к определённому URL:

$( document ).on( "ajaxComplete", function( event, xhr, settings ) {
  if ( settings.url === "ajax/test.html" ) {
    $( ".log" ).text( "Triggered ajaxComplete handler. The result is " +
      xhr.responseText );
  }
} );

Примечание: Вы можете получить возвращаемое содержимое Ajax, посмотрев на xhr.responseText.

Дополнительные замечания:

  • Начиная с jQuery 1.9, все обработчики глобальных событий Ajax jQuery, включая добавленные с помощью .on( "ajaxComplete", ... ), обязательно должны быть прикреплены к document.
  • Если $.ajax() или $.ajaxSetup() вызываются с опцией global установленной в false, событие ajaxComplete не будет срабатывать.

Пример:

Показать сообщение при завершении запроса Ajax.

$( document ).on( "ajaxComplete", function( event, request, settings ) {
  $( "#msg" ).append( "<li>Request Complete.</li>" );
} );

© The jQuery Foundation and other contributors
Licensed under the MIT License.
https://api.jquery.com/ajaxComplete

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API