Вопрос
Я хочу установить параметр ajax для глобального ajax, обрабатываемого jQuery
Состояние:
Если ajax url является "www.example.com", данные (querystring или body) будут добавлять токен.
Я попробовал два метода
.ajaxPrefilter
$.ajaxPrefilter( function( options, originalOptions, jqXHR ) {
// Add data to ajax option
if (options.url.match(/www\.example\.com/i) !== null) {
originalOptions.data.token = 'i_am_token'
}
});
Чтобы добавить токен, когда URL-адрес www.example.com- > он не работает!
В консоли/отладчике originalOptions Object добавлено свойство token, но запрос отправлен без параметра токена
.ajaxSetup/beforeSend Event
$.ajaxSetup({
beforeSend: function(jqXHR, settings) {
// Only GET Method
if (settings.url.match(/www\.example\.com/i) == null){
settings.url.replace(/((\.\/[a-z][0-9])*\?+[=%&a-z0-9]*)&?token=[a-z0-9]*&?([=%&a-z0-9]*)/gi, "$1$3")
}
},
data: {
token: 'i_am_token'
}
});
И обратное разрешение, добавьте токен для каждого запроса ajax.
То же самое, что и последнее, settings.url изменено заменой строки в консоли/отладчике. Но запрос по-прежнему отправил оригинальный URL-адрес.
Тест в jsfiddle: http://jsfiddle.net/qVLN2/2/
Спасибо за ваше чтение и помощь:)