Могу ли я изменить библиотеку jQuery? - PullRequest
0 голосов
/ 17 сентября 2018

Я хочу изменить функцию jQuery.post для решения проблемы CORS.

Поскольку jQuery.ajax требует от меня написания большого количества кода, например

$.ajax({
    url:'',
    data:null,
    type:'post',
    xhrFields:{withCredentials:true},
    crossDomain:true,
    success:function(res){}
});

Это скучно.Поэтому я хочу изменить jQuery.post, чтобы добавить некоторые свойства.Поэтому я добавил код в ajax.js.После того, как я это собрал, кажется, ничего не изменилось.
Есть ли что-то в Node?

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Почему бы просто не написать свою собственную обертку, как показано ниже:

$.myAjax = function(o) {
   var opt = $.extend({ default options here }, o);

   return $.ajax(opt);
}

Это просто определяет утилиту для вызова $.ajax и определяет набор значений по умолчанию, которые вы обычно используете. Оболочка myAjax может быть определена для чего угодно, и ее не нужно определять как пользовательский виджет для объекта jQuery.

Я бы не стал изменять сами файлы библиотек - это позволит вам продолжать получать обновления через любое используемое вами программное обеспечение для управления пакетами, и вам не придется беспокоиться о перезаписи всего, что вы настроили.

0 голосов
/ 17 сентября 2018

Вы управляете CORS на стороне сервера, которая получает вызов ajax, а не в самом вызове ajax.

Однако, если вы хотите свободно изменять $ .ajax, как вам угодно:

$.ajax = () =>
{
    console.log("I shouldn't be doing this.");
  // Here comes my new implementation
  alert("Ajaaaaaaaax !!");
}

$.ajax();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...