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


Posted in Javascript onJanuary 19, 2016

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

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 ((typeof data) == '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方法加载页面时报错 “Uncaught TypeError: Cannot call method 'done' of undefined。”

Javascript 相关文章推荐
javascript firefox兼容ie的dom方法脚本
May 18 Javascript
jQuery Study Notes学习笔记 (二)
Aug 04 Javascript
jquery获取复选框被选中的值
Apr 10 Javascript
js判断是否按下了Shift键的方法
Jan 27 Javascript
举例讲解JavaScript中关于对象操作的相关知识
Nov 16 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
Dec 22 Javascript
详解vue父子组件间传值(props)
Jun 29 Javascript
bootstrap多层模态框滚动条消失的问题
Jul 21 Javascript
浅谈React组件之性能优化
Mar 02 Javascript
基于Bootstrap下拉框插件bootstrap-select使用方法详解
Aug 07 Javascript
微信小程序实现传递多个参数与事件处理
Aug 12 Javascript
微信小程序日历插件代码实例
Dec 04 Javascript
学习JavaScript设计模式之享元模式
Jan 18 #Javascript
纯JavaScript基于notie.js插件实现消息提示特效
Jan 18 #Javascript
学习JavaScript设计模式之责任链模式
Jan 18 #Javascript
深入学习jQuery Validate表单验证(二)
Jan 18 #Javascript
深入学习jQuery Validate表单验证
Jan 18 #Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
Jan 18 #Javascript
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
Dec 13 #Javascript
You might like
Linux下ZendOptimizer的安装与配置方法
2007/04/12 PHP
asp和php下textarea提交大量数据发生丢失的解决方法
2008/01/20 PHP
php chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
调试php程序的简单步骤
2019/10/04 PHP
深入分析PHP设计模式
2020/06/15 PHP
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
用jquery实现的模拟QQ邮箱里的收件人选取及其他效果(一)
2011/01/06 Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
2013/12/29 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
javascript仿京东导航左侧分类导航下拉菜单效果
2020/11/25 Javascript
JS组件Bootstrap Table布局详解
2016/05/27 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
2016/07/14 Javascript
点击页面任何位置隐藏div的实现方法
2016/09/05 Javascript
网络传输协议(http协议)
2016/11/18 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
Vue2递归组件实现树形菜单
2017/04/10 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
animate.css在vue项目中的使用教程
2018/08/05 Javascript
深入浅析angular和vue还有jquery的区别
2018/08/13 jQuery
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
浅谈Vue 自动化部署打包上线
2020/06/14 Javascript
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
详谈Python2.6和Python3.0中对除法操作的异同
2017/04/28 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
执行Django数据迁移时报 1091错误及解决方法
2019/10/14 Python
12月小学生校园广播稿
2014/02/04 职场文书
参观接待方案
2014/03/17 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
电影雨中的树观后感
2015/06/15 职场文书
英语导游欢迎词
2015/09/30 职场文书
python使用pymysql模块操作MySQL
2021/06/16 Python
MySQL事务的隔离级别详情
2022/07/15 MySQL