1

我需要一种方法来覆盖 jQuery$.post方法 parameters url

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

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

谢谢。

4

2 回答 2

3

根据您要进行的修改,您可以使用一种.ajaxStart.ajaxSend方法来覆盖 url 参数。


一般来说,您可以使用“Duck Punching 模式”修改现有的 JavaScript 函数。您可以阅读 Paul Irish 的这篇文章以了解它是如何工作的http://paulirish.com/2010/duck-punching-with-jquery/

这是他推荐用于 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);
于 2013-02-06T16:34:58.060 回答
0

考虑使用自定义函数:

var updateUrl = function(url){

  return url + someStuff

}

$.post(

  updateUrl( yourUrl ),
  data,
  successCallback

);

因此,您将覆盖逻辑包装一次updateUrl,仅此而已。

于 2013-02-06T17:10:23.833 回答