如何覆盖Jquery.ajax函数?
我想覆盖Jquery中的$.ajax函数 我想使用现有的功能,并需要添加一些其他功能 例如: 将原始ajax函数放入到OriginalAjax变量中如何覆盖Jquery.ajax函数?,jquery,Jquery,我想覆盖Jquery中的$.ajax函数 我想使用现有的功能,并需要添加一些其他功能 例如: 将原始ajax函数放入到OriginalAjax变量中 var OriginalAjax = $.ajax $.ajax = function(xhr){ if(xhr.status ==401) { // Diplay Error in dialog box; } return(OriginalAjax(xhr));
var OriginalAjax = $.ajax
$.ajax = function(xhr){
if(xhr.status ==401)
{
// Diplay Error in dialog box;
}
return(OriginalAjax(xhr));
});
是否可以重写$.ajax函数?如果“是”,请告知如何实施?是的,您可以这样做
var oldAjax = $.ajax;
$.ajax = function() {
// Do your magic.
return oldAjax.apply($, arguments);
};
……或者
const oldAjax = $.ajax;
$.ajax = (...args) => {
// Do your magic.
return oldAjax(...args);
};
但是根据您的示例判断,您应该只使用全局事件处理程序,例如,您可以在其中检查响应状态。您可以只覆盖默认的$.ajax行为 请记住,$.ajax正在返回promise()对象,因此您还需要处理附加到done()/fail()的回调
也许这篇文章可以帮助你:你还需要什么特别的东西吗?我在上展开了