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 相关文章推荐
js判断浏览器的比较全的代码
Feb 13 Javascript
js操纵dom生成下拉列表框的方法
Feb 24 Javascript
使用javascript实现判断当前浏览器
Apr 14 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
May 11 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
May 10 Javascript
BootStrap实现带有增删改查功能的表格(DEMO详解)
Oct 26 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
Apr 26 Javascript
vuex vue简单使用知识点总结
Aug 29 Javascript
node.js制作一个简单的登录拦截器
Feb 10 Javascript
vant 自定义 van-dropdown-item的用法
Aug 05 Javascript
vant picker+popup 自定义三级联动案例
Nov 04 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
Nov 11 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禁止页面缓存的代码
2011/10/23 PHP
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
php获取随机数组列表的方法
2014/11/13 PHP
一段实用的php验证码函数
2016/05/19 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
javascript打印输出json实例
2013/11/11 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
2015/12/10 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
详解微信小程序 相对定位和绝对定位
2017/05/11 Javascript
webpack 2的react开发配置实例代码
2017/07/28 Javascript
微信小程序之电影影评小程序制作代码
2017/08/03 Javascript
基于dataset的使用和图片延时加载的实现方法
2017/12/11 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
2020/01/26 Javascript
ant design 日期格式化的实现
2020/10/27 Javascript
[01:44]剑指西雅图 展望TI之CIS战队专访
2014/06/25 DOTA
Python的词法分析与语法分析
2013/05/18 Python
详谈python http长连接客户端
2017/06/12 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
2018/02/11 Python
Python selenium抓取微博内容的示例代码
2018/05/17 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
Python编程快速上手——强口令检测算法案例分析
2020/02/29 Python
使用Python开发个京东上抢口罩的小实例(仅作技术研究学习使用)
2020/03/10 Python
Windows下Anaconda和PyCharm的安装与使用详解
2020/04/23 Python
Python中无限循环需要什么条件
2020/05/27 Python
HTML+CSS3 模仿Windows7 桌面效果
2010/06/17 HTML / CSS
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
Feelunique中文官网:欧洲最大化妆品零售电商
2020/07/10 全球购物
求职信的要素有哪些呢
2013/12/26 职场文书
期末考试动员演讲稿
2014/01/10 职场文书
小学防溺水制度
2014/01/29 职场文书
乡镇党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
学校后勤工作总结2015
2015/05/15 职场文书
丧事答谢词大全
2015/09/30 职场文书
Python insert() / append() 用法 Leetcode实战演示
2021/03/31 Python