Обработка пользовательских настроек ajax-запроса

jQuery.ajaxPrefilter() — обрабатывает пользовательские настройки Ajax запроса или изменяет существующие настройки перед каждой отправкой запроса через $.ajax().

  • dataTypes — строка, не обязательный аргумент, содержит в себе один или более типов dataTypes, разделенных пробелом;
  • handler(options, originalOptions, jqXHR) — функция обратного вызова
    • options настройки текущего запроса;
    • originalOptions настройки по умолчанию (из ajaxSettings);
    • jqXHR объект jqXHR (в версиях до jquery-1.5, вместо него использовался XMLHttpRequest)

Типичный пример регистрации используя jQuery.ajaxPrefilter() выглядит следующим образом:

$.ajaxPrefilter удобно использовать для обработки пользовательских параметров. Например, можно воспользоваться настройкой abortOnRetry, при включении которой, незавершенные запросы будут прерываться, если отправляются по тому же адресу:

$.ajaxPrefilter также может быть использован для изменения текущих параметров. Для примера, рассмотрим кросс-доменный запрос через сервер http://mydomain.net/proxy/:

Если вы передали параметр dataTypes, префильтры будут применимы только на запросы с указанными типами данных. Например, следующий запрос применяется только для JSON и к скриптам запросов:

Метод $.ajaxPrefilter может также перенаправить запрос на другой dateType, вернув новое значение dateType. Например, следующий запрос будет выполнен для dataType равным «script», если в URL есть какие-то специфичные параметры, которые отслеживаются в собственной функции isActuallyScript():

В этом случае, сработают все фильтры примененные к данному типу данных.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *