我需要一种方法来覆盖jQuery $.post
方法,参数url
。
我需要为每个脚本追加一个字符串,而不必一一编辑它们。字符串值可能会因为系统创建而更改。
我知道有一种方法可以100%覆盖参数的值,但不只是追加。
谢谢你。
我需要一种方法来覆盖jQuery $.post
方法,参数url
。
我需要为每个脚本追加一个字符串,而不必一一编辑它们。字符串值可能会因为系统创建而更改。
我知道有一种方法可以100%覆盖参数的值,但不只是追加。
谢谢你。
考虑使用自定义功能:
var updateUrl = function(url){
return url + someStuff
}
$.post(
updateUrl(yourUrl),
data,
successCallback
);
所以你在updateUrl
中覆盖重写逻辑一次,就是这样。
根据您想要做的修改,您可以使用.ajaxStart或.ajaxSend方法中的一个来覆盖url参数。
通常情况下,您可以使用“Duck Punching pattern”来修改现有的JavaScript函数。你可以阅读这篇文章由保罗爱尔兰人知道它是如何工作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);
他特别说他不想修改每个脚本 – Alnitak
这个更新对任何体面的IDE顺便说一句简单的单一操作,但是你是对的。 – moonwave99
你知道吗,我可以使用你的想法......这很简单,一旦完成,它就完成了并且工作! –