Применять 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' });

Что бы вы ни делали, не обезьяна патч!

Другие вопросы по тегам