Существуют простые функции jQuery, которые позволяют изменять запросы AJAX до их отправки, но они предназначены только для запросов AJAX, инициированных jQuery.Чтобы перехватить все запросы AJAX на странице, используйте следующий базовый способ только для JS:
(function(open){
XMLHttpRequest.prototype.open = function(method, url, async, username, password) {
// modify the variables here as needed or use 'this` keyword to change the XHR object or add event listeners to it
open.call(this, method, url, async, username, password);
};
})(XMLHttpRequest.prototype.open);
Вы также можете переписать функцию XHR send ():
(function(send){
XMLHttpRequest.prototype.send = function(body) {
// your code
send.call(this, body);
};
})(XMLHttpRequest.prototype.send);
По сути, этокод должен быть ПЕРВЫМ кодом, который запускается на вашей странице.Все последующие запросы XHR будут проходить через переписанные функции, позволяя вам изменять любые параметры и т. Д.
Примечание: если вы хотите настроить таргетинг на некоторые версии IE, вам необходимо реализовать аналогичный код для ActiveXObjectчто IE использует для AJAX.