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操作ACCESS数据库(读增改删)的代码
May 14 Javascript
项目实践之javascript技巧
Dec 06 Javascript
javascript调试说明
Jun 07 Javascript
javaScript同意等待代码实现心得
Jan 01 Javascript
使用jquery选择器如何获取父级元素、同级元素、子元素
May 14 Javascript
jQuery内部原理和实现方式浅析
Feb 03 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
Apr 29 Javascript
js简单获取表单中单选按钮值的方法
Aug 23 Javascript
用move.js库实现百叶窗特效
Feb 08 Javascript
vue 2.0路由之路由嵌套示例详解
May 08 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 jQuery
js实现双人五子棋小游戏
May 28 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
PHP 调试工具Debug Tools
2011/04/30 PHP
php语言流程控制中的主动与被动
2012/11/05 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
node.js require() 源码解读
2015/12/13 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
React Native实现简单的登录功能(推荐)
2016/09/19 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
深入理解jQuery()方法的构建原理
2016/12/05 Javascript
hovertree插件实现二级树形菜单(简单实用)
2016/12/28 Javascript
Angular使用 ng-img-max 调整浏览器中的图片的示例代码
2017/08/17 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
JS如何寻找数组中心索引过程解析
2020/06/01 Javascript
Vue3为什么这么快
2020/09/23 Javascript
[05:02][DOTA2]DOTA进化论 第一期
2013/09/27 DOTA
[45:16]完美世界DOTA2联赛循环赛 IO vs FTD BO2第二场 11.05
2020/11/06 DOTA
Python设计模式之单例模式实例
2014/04/26 Python
python redis 删除key脚本的实例
2019/02/19 Python
python处理document文档保留原样式
2019/09/23 Python
在Python中实现函数重载的示例代码
2019/12/12 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
树莓派升级python的具体步骤
2020/07/05 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
ShellScript面试题一则-ShellScript编程
2014/06/24 面试题
办公室年终个人自我评价
2013/10/28 职场文书
医学院毕业生自荐信
2013/11/08 职场文书
《云雀的心愿》教学反思
2014/02/25 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
2014年小学校长工作总结
2014/12/08 职场文书
2019年最新版见习人员管理制度!
2019/07/08 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
Python爬虫基础讲解之请求
2021/05/13 Python
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers