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 相关文章推荐
用jscript实现列出安装的软件列表
Jun 18 Javascript
基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
Jul 31 Javascript
JS获取键盘上任意按键的值(实例代码)
Nov 12 Javascript
js如何获取兄弟、父类等节点
Jan 06 Javascript
js中style.display=""无效的解决方法
Oct 30 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
Nov 10 Javascript
JS实现的适合做faq或menu滑动效果示例
Nov 17 Javascript
JS装饰器函数用法总结
Apr 21 Javascript
基于vue+echarts 数据可视化大屏展示的方法示例
Mar 09 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
Feb 04 jQuery
低门槛开发iOS、Android、小程序应用的前端框架详解
Oct 16 Javascript
vue自定义右键菜单之全局实现
Apr 09 Vue.js
学习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
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
使用PHP接收POST数据,解析json数据
2013/06/28 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
2014/08/21 PHP
PHP单例模式实例分析【防继承,防克隆操作】
2019/05/22 PHP
js left,right,mid函数
2008/06/10 Javascript
jquery 图片上传按比例预览插件集合
2011/05/28 Javascript
不使用浏览器运行javascript代码的方法
2013/07/24 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
详解AngularJS中的表达式使用
2015/06/16 Javascript
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
JSON遍历方式实例总结
2015/12/07 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
Node.js常用工具之util模块
2017/03/09 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
mpvue微信小程序多列选择器用法之省份城市选择的实现
2019/03/07 Javascript
JavaScript使用ul中li标签实现删除效果
2019/04/15 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
TypeScript魔法堂之枚举的超实用手册
2020/10/29 Javascript
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
python  Django中的apps.py的目的是什么
2018/10/15 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
PyQt5 对图片进行缩放的实例
2019/06/18 Python
PyCharm 无法 import pandas 程序卡住的解决方式
2020/03/09 Python
Python 如何创建一个线程池
2020/07/28 Python
python实现双人五子棋(终端版)
2020/12/30 Python
前端H5 Video常见使用场景简介
2020/08/21 HTML / CSS
世界首屈一指的在线男士内衣权威:HisRoom
2017/08/05 全球购物
别名指示符是什么
2012/10/08 面试题
旷课检讨书2000字
2014/01/14 职场文书
国培教师自我鉴定
2014/02/12 职场文书
艾滋病宣传活动总结
2014/05/08 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
2016清明节森林防火广播稿
2015/12/17 职场文书
导游词之唐山景点
2019/12/18 职场文书