jquery 重写 ajax提交并判断权限后 使用load方法报错

网络编程 2021-07-04 21:04www.168986.cn编程入门
这篇文章主要介绍了jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法 的相关资料,需要的朋友可以参考下

废话不多说了,直接给大家贴代码了。

jQuery(function ($) {
// 备份jquery的ajax方法 
var _ajax = $.ajax;
// 重写ajax方法,先判断登录在执行suess函数 
$.ajax = function (opt) {
var _suess = opt && opt.suess || function (a, b) { };
var _opt = $.extend(opt, {
suess: function (data, textStatus) {
// 如果后台将请求重定向到了登录页,则data里面存放的就是登录页的源码,这里需要找到data是登录页的证据(标记) 
if ((typeof data) == 'string' && data.indexOf('shangjiaAjaxExtend') != -1) {
window.location.href = 'http://' + window.location.host + '/S/BusiLogin/Index';
return;
} else {
_suess(data, textStatus);
}
}
});
return _ajax(_opt);
};
});

重写原理为:由于闭包函数先于页面上script加载,所以在此可以直接复写$.ajax方法.

重点是红色部分内容一定要retrun 否则在使用load方法加载页面时报错 “Uncaught TypeError: Cannot call method 'done' of undefined。”

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by