覆盖jQuery方法$ .POST

时间:2013-02-06 16:21:26

标签: javascript jquery

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

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

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

谢谢你。

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

考虑使用自定义功能:

var updateUrl = function(url){

  return url + someStuff

}

$.post(

  updateUrl( yourUrl ),
  data,
  successCallback

);

所以你将覆盖逻辑包裹在updateUrl中一次,就是这样。