Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 覆盖jQuery方法$.POST_Javascript_Jquery - Fatal编程技术网

Javascript 覆盖jQuery方法$.POST

Javascript 覆盖jQuery方法$.POST,javascript,jquery,Javascript,Jquery,我需要一种覆盖jQuery$的方法。post方法,参数url 我需要在我拥有的每个脚本中添加一个字符串,而不需要逐个编辑它们。字符串值可能会更改,因为它是由系统创建的 我知道有一种方法可以100%覆盖参数值,而不仅仅是追加 谢谢。根据需要进行的修改,您可以使用一次性或多次方法覆盖url参数 一般来说,您可以使用“鸭子打孔模式”修改现有的JavaScript函数。你可以阅读Paul Irish的这篇文章来了解它是如何工作的 下面是他推荐用于jQuery的最后一种模式 (function($){

我需要一种覆盖jQuery
$的方法。post
方法,参数
url

我需要在我拥有的每个脚本中添加一个字符串,而不需要逐个编辑它们。字符串值可能会更改,因为它是由系统创建的

我知道有一种方法可以100%覆盖参数值,而不仅仅是追加


谢谢。

根据需要进行的修改,您可以使用一次性或多次方法覆盖url参数


一般来说,您可以使用“鸭子打孔模式”修改现有的JavaScript函数。你可以阅读Paul Irish的这篇文章来了解它是如何工作的

下面是他推荐用于jQuery的最后一种模式

(function($){

    // store original reference to the method
    var _old = $.fn.method;

    $.fn.method = function(arg1,arg2){

        if ( ... condition ... ) {
           return  .... 
        } else {           // do the default
           return _old.apply(this,arguments);
        }
    };
})(jQuery);

根据您要进行的修改,您可以使用一种或多种方法覆盖url参数


一般来说,您可以使用“鸭子打孔模式”修改现有的JavaScript函数。你可以阅读Paul Irish的这篇文章来了解它是如何工作的

下面是他推荐用于jQuery的最后一种模式

(function($){

    // store original reference to the method
    var _old = $.fn.method;

    $.fn.method = function(arg1,arg2){

        if ( ... condition ... ) {
           return  .... 
        } else {           // do the default
           return _old.apply(this,arguments);
        }
    };
})(jQuery);

考虑使用自定义函数:

var updateUrl = function(url){

  return url + someStuff

}

$.post(

  updateUrl( yourUrl ),
  data,
  successCallback

);

因此,在
updateUrl
中只包装一次覆盖逻辑,就这样。

考虑使用自定义函数:

var updateUrl = function(url){

  return url + someStuff

}

$.post(

  updateUrl( yourUrl ),
  data,
  successCallback

);

因此,您在
updateUrl
中包装了覆盖逻辑一次,就这样。

他明确表示他不想修改每个脚本。顺便说一句,对于任何像样的IDE,更新都是一个简单的操作,但您是对的。您知道吗,我可能会使用您的想法。。。它很简单,一旦完成,它就完成并工作了!他明确表示,他不想修改每一个脚本。顺便说一句,对于任何像样的IDE来说,更新都是一个微不足道的操作,但你是对的。你知道吗,我可能会用你的想法。。。它很简单,一旦完成,它就完成并工作了!