Ajax-события
Выполнение ajax-запросов сопровождается возникновением различных событий, которые могут быть обработаны с помощь пользовательских функций. На данной странице вы сможете найти список всех этих событий, а так же узнать, в каком порядке они происходят.
Локальные события
"Подписаться" на события этого типа можно только в настройках низкоуровнего ajax-запроса:
$.ajax({ beforeSend: function(){ // Действия, которые будут выполнены перед выполнением этого ajax-запроса }, complete: function(){ // Действия, которые будут выполнены после завершения ajax-запроса } // ...... });
Отметим, что установленные таким образом настройки будут действовать только для текущего запроса. Что бы установить их по умолчанию, используйте функцию $.ajaxSetup().
Глобальные события
Эти события передаются всем элементам DOM, поэтому привязка к ним происходит посредством обработчиков событий на элементах:
$("#loading").bind("ajaxSend", function(){ $(this).show(); }); // или, то же самое, но с помощью специальной функции $("#loading").ajaxSend(function(){ $(this).show(); })
Глобальные события могут быть отключены с помощью параметра global в настройках ajax-запроса:
// во время выполнение следующего ajax-запроса, обработчики глобальных событий не будут вызваны $.ajax({ url: "test", global: false, // ... });
Список событий
Далее следует список всех событий, расположенных в том же порядке, в котором они будут происходить при выполнении ajax-запроса. Важно отметить, что два из перечисленных событий, происходят не при каждом ajax-запросе, это события ajaxStart и ajaxStop. Первое из них происходит в момент начала запроса, с условием, что в это же время не запущены другие запросы. ajaxStop происходит при завершении запроса, так же, только в случае отсутствия других активных запросов.
- ajaxStart (Глобальный)
Происходит в момент начала запроса, с условием, что в это же время не запущены другие запросы.
- beforeSend (Локальный)
Происходит перед выполнением запроса, что позволяет произвести необходимые настройки, такие как изменение объекта XMLHttpRequest.
- ajaxSend (Глобальный)
Так же, происходит перед выполнением запроса.
- success (Локальный)
Происходит в момент удачного завершения запроса.
- ajaxSuccess (Глобальный)
Аналогично предыдущему.
- error (Локальный)
Происходит в случае неудачного завершения запроса.
- ajaxError (Глобальный)
Аналогично предыдущему.
- complete (Локальный)
Происходит при завершении запроса (неважно, удачном оно было или нет).
- ajaxComplete (Глобальный)
Аналогично предыдущему.
- ajaxStop (Глобальный)
Происходит при завершении запроса, с условием, что в это же время не запущены другие запросы.