Применять encodeuricomponent ко всем вызовам ajax в приложении по всему миру
У меня есть подобные вызовы в нескольких местах в моем приложении.
$.ajax({
type: 'POST',
url: url,
data: Json.stringify(Values),
dataType: 'json'
});
Для них я хотел бы добавить encodeURIComponent к данным, отправленным, как показано ниже:
$.ajax({
type: 'POST',
url: url,
data: encodeURIComponent(Json.stringify(Values)),
dataType: 'json'
});
Есть ли способ, которым я могу сделать это глобально, не редактируя это вручную везде?
1 ответ
Создайте свою собственную функцию для этого.
var myAjax = function (options) {
if (typeof options.data !== "undefined") {
options.data = encodeURIComponent(options.data);
}
return $.ajax(options);
};
Затем в вашем коде замените:
$.ajax({ type: 'POST', url: url, data: Json.stringify(Values), dataType: 'json' });
С:
myAjax({ type: 'POST', url: url, data: Json.stringify(Values), dataType: 'json' });
Что бы вы ни делали, не обезьяна патч!