猿问

移动端的用户验证问题

后台设置的验证用的session,有一个参数会在30分钟后过期的那种,但是总会在过期后 报401错误后然后会弹出一个网络链接失败的alert框,怎么让它不弹出这个错误框,而是直接重定向验证页面呢?

慕无忌1623718
浏览 536回答 1
1回答

拉风的咖菲猫

一般情况下是对你的请求加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); });
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答