我需要一种方法来覆盖jQuery $.post
方法,参数url
。
我需要在每个脚本上附加一个字符串,而不是逐个编辑它们。字符串值可能会更改,因为它是由系统创建的。
我知道有一种方法可以100%覆盖参数的值而不仅仅是追加。
谢谢你。
答案 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
中一次,就是这样。