我需要一种方法来覆盖 jQuery$.post
方法 parameters url
。
我需要将一个字符串附加到我拥有的每个脚本中,而无需逐一编辑它们。字符串值可能会更改,因为它是由系统创建的。
我知道有一种方法可以 100% 覆盖参数的值,而不仅仅是追加。
谢谢。
我需要一种方法来覆盖 jQuery$.post
方法 parameters url
。
我需要将一个字符串附加到我拥有的每个脚本中,而无需逐一编辑它们。字符串值可能会更改,因为它是由系统创建的。
我知道有一种方法可以 100% 覆盖参数的值,而不仅仅是追加。
谢谢。
根据您要进行的修改,您可以使用一种.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);
考虑使用自定义函数:
var updateUrl = function(url){
return url + someStuff
}
$.post(
updateUrl( yourUrl ),
data,
successCallback
);
因此,您将覆盖逻辑包装一次updateUrl
,仅此而已。