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 Prototype 对象扩展
May 15 Javascript
javascript基本包装类型介绍
Apr 10 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
Sep 09 Javascript
JS中sort函数排序用法实例分析
Jun 16 Javascript
Node.js与MySQL交互操作及其注意事项
Oct 05 Javascript
微信小程序 五星评价功能的实现
Mar 09 Javascript
js实现前端图片上传即时预览功能
Aug 02 Javascript
深入浅析JSONAPI在PHP中的应用
Dec 24 Javascript
基于node打包可执行文件工具_Pkg使用心得分享
Jan 24 Javascript
微信小程序App生命周期详解
Jan 31 Javascript
ES6知识点整理之Proxy的应用实例详解
Apr 16 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
Apr 13 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 新手入门教程
2009/08/03 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
JavaScript面向对象的实现方法小结
2015/04/14 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
2017/09/20 Javascript
Vue中使用clipboard实现复制功能
2018/09/05 Javascript
vue+iview动态渲染表格详解
2019/03/19 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
[01:02:00]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第三场 1月24日
2021/03/11 DOTA
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
2015/04/11 Python
发布你的Python模块详解
2016/09/15 Python
python下解压缩zip文件并删除文件的实例
2018/04/24 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
浅谈python的深浅拷贝以及fromkeys的用法
2019/03/08 Python
python matplotlib库直方图绘制详解
2019/08/10 Python
python虚拟环境模块venv使用及示例
2020/03/04 Python
Python如何将装饰器定义为类
2020/07/30 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
购买英国原创艺术:Art Gallery
2018/08/25 全球购物
爱普生美国官网:Epson美国
2018/11/05 全球购物
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
如何估计一张表的大小(假设该表中有1万条数据)
2016/03/27 面试题
个人应聘自我评价分享
2013/11/18 职场文书
土木工程个人自荐信范文
2013/11/30 职场文书
法学专业本科生自荐信范文
2013/12/17 职场文书
安全生产活动月方案
2014/03/09 职场文书
离婚案件被告代理词
2015/05/23 职场文书
行为习惯主题班会
2015/08/14 职场文书
Redis入门教程详解
2021/08/30 Redis