События Ajax
Запросы Ajax генерируют ряд различных событий, на которые вы можете подписаться. Вот полный список событий и порядок их срабатывания.
Существует два типа событий:
Локальные события
Это обратные вызовы, на которые вы можете подписаться в объекте запроса Ajax, например:
$.ajax({
beforeSend: function(){
// Handle the beforeSend event
},
complete: function(){
// Handle the complete event
}
// ......
}); Глобальные события
Эти события срабатывают в document, вызывая все обработчики, которые могут на них реагировать. Вы можете прослушивать эти события следующим образом:
$(document).on("ajaxSend", function(){
$("#loading").show();
}).on("ajaxComplete", function(){
$("#loading").hide();
});
Глобальные события можно отключить для конкретного запроса Ajax, передав опцию global, например:
$.ajax({
url: "test.html",
global: false,
// ...
}); События
Вот полный список событий Ajax и порядок их срабатывания. Отступы указывают, что события срабатывают для каждого запроса Ajax (если не установлена глобальная опция). События ajaxStart и ajaxStop относятся ко всем запросам Ajax вместе.
- ajaxStart (Глобальное событие)
Это событие срабатывает, если запрос Ajax начат, и другие запросы Ajax в данный момент не выполняются.- beforeSend (Локальное событие)
Это событие, которое срабатывает перед началом запроса Ajax, позволяет вам изменить объект XMLHttpRequest (например, установив дополнительные заголовки). - ajaxSend (Глобальное событие)
Это глобальное событие также срабатывает перед выполнением запроса. - success (Локальное событие)
Это событие вызывается только в случае успешного запроса (нет ошибок от сервера, нет ошибок с данными). - ajaxSuccess (Глобальное событие)
Это событие также вызывается только в случае успешного запроса. - error (Локальное событие)
Это событие вызывается только в случае возникновения ошибки при запросе (вы никогда не можете иметь одновременно обработчики error и success для одного запроса). - ajaxError (Глобальное событие)
Это глобальное событие ведет себя так же, как локальное событие error. - complete (Локальное событие)
Это событие вызывается независимо от того, был запрос успешным или нет. Вы всегда получите обработчик complete, даже для синхронных запросов. - ajaxComplete (Глобальное событие)
Это событие ведет себя так же, как событие complete, и будет срабатывать каждый раз, когда запрос Ajax завершается.
- beforeSend (Локальное событие)
-
ajaxStop (Глобальное событие)
Это глобальное событие срабатывает, если больше нет обрабатываемых запросов Ajax.
© The jQuery Foundation and other contributors
Licensed under the MIT License.
https://api.jquery.com/Ajax_Events