.ajaxSuccess()


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

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

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

Для наблюдения этого метода в действии, установим обработчик и вызовем Ajax load запрос:

1
2
3
<div class="trigger">Trigger</div>
<div class="result"></div>
<div class="log"></div>

Добавляем обработчик события к document:

1
2
3
$(document).ajaxSuccess(function() {
$( ".log" ).text( "Triggered ajaxSuccess handler." );
});

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

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

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

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

1
2
3
4
5
6
$( document ).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.

Примечания:

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

Пример:

Показывает сообщение когда Ajax запрос выполнится успешно.

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