jQuery метод .ajaxError()
Определение и применение
jQuery метод .ajaxError() позволяет задать функцию (обработчик события), которая вызывается в том случае, если
AJAX
запрос завершился ошибкой.
Если методы
$.ajax(), или $.ajaxSetup() используются с установленным параметром global со значением false, то
обработчик ajaxError не будет вызван. Начиная с версии jQuery 1.9, все обработчики для глобальных AJAX
событий, должны быть прикреплены к объекту document следующием образом:
$( document ).ajaxEvent( handler ) // пример добавления обработчика для глобального AJAX события
jQuery синтаксис:
Синтаксис 1.0:
.ajaxError( handler )
handler - Function( Event event, jqXHR jqXHR, PlainObject ajaxOptions, String thrownError )
Добавлен в версии jQuery
1.0Значения параметров
| Параметр | Описание |
|---|---|
| handler |
Задает функцию, которая будет выполнена в том случае, если
AJAX
запрос завершился ошибкой. Является обязательным параметром метода. Функция принимает следующие параметры:
|
Пример старого кода
Пример использования jQuery метода .ajaxError()
Этот пример требует отдельного документа или сервера. Условия запуска указаны в коде и пояснении рядом. В редакторе используется jQuery 4.0.0.
Исходный код для изучения. Запуск на этой странице недоступен.
index.html
<button>Клик</button><span></span><br /><br />
<div></div>
main.js
$(document).ready(function () {
$('button').click(function () {
$('div').load('missing-response')
})
$(document).ajaxError(function (event, xhr, options, thrownError) {
if (options.url == 'missing-response') $('span').text("it's ajaxError")
console.log(thrownError)
})
})
В этом примере с использованием jQuery метода .load() мы при нажатии на элемент
<button>
(кнопка) с использованием AJAX запроса пытаемся загрузить данные с сервера и разместить возвращенный HTML код внутри
элемента
<div>. Загружаемый файл ("missing-response") отсутствует, что приводит к ошибке.
С использованием метода .ajaxError() задаем функцию (обработчик события), которая вызывается каждый раз после
того как AJAX запрос завершился ошибкой. Функция производит проверку на наличие в объекте, содержащего
настройки AJAX запроса ключа "url", который содержит значение missing-response. Если содержит, то
в элемент
<span>
с использованием метода
.text()
производит добавление текстового содержимого. Кроме того, мы выводим в консоль информацию об ошибке
HTTP (текстовый статус). В нашем случае - "Not Found".
Результат нашего примера: