重写jquery的ajax的error方法,可处理后台的权限验证,登陆超时等状态码

来源:互联网 发布:51单片机视频教程下载 编辑:程序博客网 时间:2024/06/07 00:15

在使用ajax调用后台时,如果出现后台权限检验不过,或者需要登录时,就需要在ajax的error方法里做判断,如果使用ajax的方法地方太多,一旦后台添加一种新的状态码,就要在多处理地方进行更改,

下面是一个方法,直接扩展了ajax的error方法,在调用时,和普通的调用一模一样,也不用再加校验,一切校验,可以只加在这个扩展里


(function() {    //备份jquery的ajax方法      var _ajax=$.ajax;            //重写jquery的ajax方法      $.ajax=function(opt){          //备份opt中error和success方法          var fn = {              error:function(XMLHttpRequest, textStatus, errorThrown){},              success:function(data, textStatus){}          }          if(opt.error){              fn.error=opt.error;          }          if(opt.success){              fn.success=opt.success;          }                    //扩展增强处理          var _opt = $.extend(opt,{              error:function(response, textStatus, errorThrown){                  //错误方法增强处理              //没有登录                 if(response.status==401){                 if(!isReLogin){                 isReLogin=true;                 alert("登陆超时,请重新登录!");                 window.top.location.href="/kpdp/login"                 }                 }else{                 fn.error(XMLHttpRequest, textStatus, errorThrown);                   }            },              success:function(data, textStatus){                  //成功回调方法增强处理                                    fn.success(data, textStatus);              }          });          _ajax(_opt);      };})();


0 0
原创粉丝点击