Spec-Zone.ru › jQuery

Событие ajaxSuccess

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

Описание: Присоединяет функцию, которая будет выполняться всякий раз, когда успешный Ajax-запрос завершается. Это событие Ajax.

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

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

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

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

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

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

Присоедините обработчик событий к любому элементу:

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

Теперь сделайте Ajax-запрос с помощью любого метода jQuery:

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

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

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

$( document ).on( "ajaxSuccess", function( event, xhr, settings ) {
  if ( settings.url == "ajax/test.html" ) {
    $( ".log" ).text( "Triggered ajaxSuccess handler. The Ajax response was: " +
      xhr.responseText );
  }
} );

Примечание: Вы можете получить возвращённое содержимое Ajax, обратившись к xhr.responseXML или xhr.responseText соответственно для xml и html.

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

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

Пример:

Отображение сообщения, когда Ajax-запрос завершается успешно.

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

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

Spec-Zone.ru

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