为了账号安全,请及时绑定邮箱和手机立即绑定

移动端的用户验证问题

移动端的用户验证问题

慕无忌1623718 2018-09-11 13:21:19
后台设置的验证用的session,有一个参数会在30分钟后过期的那种,但是总会在过期后 报401错误后然后会弹出一个网络链接失败的alert框,怎么让它不弹出这个错误框,而是直接重定向验证页面呢?
查看完整描述

1 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

一般情况下是对你的请求加error方法,最好的是全局注入容错方法,下面以JQ举个例子。

$(document).ready(function() {
  (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) {},        beforeSend: function(XHR) {},        
      complete: function(XHR, TS) {}
      };      if (opt.error) fn.error = opt.error;      if (opt.success) fn.success = opt.success;      
      if (opt.beforeSend) fn.beforeSend = opt.beforeSend;      if (opt.complete) fn.complete = opt.complete;      
      //扩展增强处理
      var _opt = $.extend(opt, {        error: function(XMLHttpRequest, textStatus, errorThrown) {          
      //错误方法增强处理
          fn.error(XMLHttpRequest, textStatus, errorThrown);          // 敲黑板,这里是重点
          location.href = 'http://xxxxxx/login.html';
        },        success: function(data, textStatus) {          //成功回调方法增强处理
          fn.success(data, textStatus);
        },        beforeSend: function(XHR) {          //提交前回调方法
          fn.beforeSend(XHR);
        },        complete: function(XHR, TS) {          //请求完成后回调函数 (请求成功或失败之后均调用)。
          fn.complete(XHR, TS);
        }
      });
      _ajax(_opt);
    };
  })(jQuery);
});


查看完整回答
反对 回复 2018-10-19
  • 1 回答
  • 0 关注
  • 535 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信