jQuery(function($){ var _ajax=$.ajax; // 备份jquery的ajax方法 $.ajax=function(opt){ var _success = opt && opt.success || function(a, b){}; //获取ajax请求参数中的success方法; var _opt = $.extend(opt, { success:function(data, textStatus){ // 如果后台将请求重定向到了登录页,则data里面存放的就是登录页的源码,这里需要找到data是登录页的标记 //(这里是在文件中加了“weinianjie”然后注释掉。) if(data.indexOf('weinianjie') != -1) { window.location.href= Globals.ctx + "/login.action"; return; } _success(data, textStatus); //执行每个ajax自身的success方法 } }); return _ajax(_opt); //返回新的加入了session超时处理的ajax方法。 }; })
jQuery(function($){ if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(elt /*, from*/) { var len = this.length >>> 0; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (from < 0) from += len; for (; from < len; from++) { if (from in this && this[from] === elt) return from; } return -1; }; } // 备份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') { if(data.indexOf('page-forbidden')!=-1){ layer.error("你没有权限进行该操作",function(i){layer.close(i)}); }else if(data.indexOf("page-login")!=-1){ layer.alert("你的登录已经过期,点击确定重新登录!", {icon: 2,closeBtn: 0}, function (index) { layer.close(index); window.location.href= "/login.do"; }); return; } } _success(data, textStatus); } }); return _ajax(_opt); }; });