应用场景,当异步请求发生时,后台处理发生异常需要跳转到某个页面时
(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 (XMLHttpRequest, textStatus, errorThrown) { //错误方法增强处理 var data = jQuery.parseJSON(XMLHttpRequest.responseText); if (data && data.errorsession) { window.location.href = "要跳转的url"; return; } fn.error(XMLHttpRequest, textStatus, errorThrown); }, success: function (data, textStatus) { //成功回调方法增强处理 if (data && data.errorsession) { window.location.href = "要跳转的url"; return; } fn.success(data, textStatus); } }); _ajax(_opt); }; })(jQuery);
该方法可用于当登录超时时发生异步请求后台session验证失败要求从新登录场景