Содержание:
jQuery.ajaxPrefilter( [dataTypes ], handler )Возвращает: undefined
Описание: Обрабатывает пользовательские Ajax параметры или изменяет существующие параметры прежде чем каждый запрос будет отправлен и прежде чем они будут обработаны методом $.ajax()
-
Добавлен в версии: 1.5jQuery.ajaxPrefilter( [dataTypes ], handler )
-
dataTypesТип: StringНеобязательная строка с одним или более типами данных (разделенные пробелом).
-
handlerОбработчик для установки значений по умолчанию для будующих Ajax запросов.
-
Обычно регистрация префильтра при помощи $.ajaxPrefilter()
выглядит следующим образом:
1
2
3
|
|
где:
-
options
параметры запроса -
originalOptions
оригинальные параметры запроса предоставленные методом$.ajax()
без изменений и значений по умолчанию от методаajaxSettings
-
jqXHR
объект jqXHR для данного запроса
Префильтры являются идеальным решением, когда пользовательские параметры должны быть обработаны. Приведенный ниже коде, например, вызок метода $.ajax()
будет автоматически прерывать запрос на тот же URL если значение пользовательского параметра abortOnRetry
равно true
:
1
2
3
4
5
6
7
8
9
10
|
|
Префильты также могут быть использованы для изменения существующих параметров. Например, использование прокси http://mydomain.net/proxy/ при использовании кросс-доменных запросов:
1
2
3
4
5
6
|
|
Если необязательный аргумент dataTypes
установлен, то префильтр будет применен для запросов с соответствующим типом данных. Например, в следующем коде префильтр работает только для JSON и script запросов:
1
2
3
|
|
Метод $.ajaxPrefilter()
может также перенаправить запрос на другой тип данных отличающийся от типа данных ответа. Например, следующий код устанавливает запрос как "script" если URL-адрес имеет какие то особенности определенные в пользовательской функции isActuallyScript()
:
1
2
3
4
5
|
|
Это обеспечит работу префильтра не только для запроса "script", но и также все указанные типы данных при регистрации префильтра.