jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
废话不多说了,直接给大家贴代码了。
jQuery(function($){
//备份jquery的ajax方法
var_ajax=$.ajax;
//重写ajax方法,先判断登录在执行success函数
$.ajax=function(opt){
var_success=opt&&opt.success||function(a,b){};
var_opt=$.extend(opt,{
success:function(data,textStatus){
//如果后台将请求重定向到了登录页,则data里面存放的就是登录页的源码,这里需要找到data是登录页的证据(标记)
if((typeofdata)=='string'&&data.indexOf('shangjiaAjaxExtend')!=-1){
window.location.href='http://'+window.location.host+'/S/BusiLogin/Index';
return;
}else{
_success(data,textStatus);
}
}
});
return_ajax(_opt);
};
});
重写原理为:由于闭包函数先于页面上script加载,所以在此可以直接复写$.ajax方法.
重点是红色部分内容一定要retrun否则在使用load方法加载页面时报错“UncaughtTypeError:Cannotcallmethod'done'ofundefined。”
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下