Ajax請求時session失效,統一處理跳轉到登陸頁
阿新 • • 發佈:2019-02-09
在登陸也上做一個標記比如
<meta name="sp" content="shanzhubuchiwandoujie">
當ajax成功返回的data是登陸頁面,也就是包含以上資訊,就去登陸頁。
需要做的是重寫jquery的ajax方法,在所有的ajax請求之前執行
jQuery(function($){ var ajax = $.ajax; $.ajax = function (opt) { var fn = { success: function (data, textStatus, jqXHR) { } } if(opt.success) { fn.success = opt.success; } var _opt = $.extend(opt, { success: function (data, textStatus, jqXHR) { if( typeof data == "string") { if(data.indexOf('shanzhubuchiwandoujie') != -1) { window.location.href= globalPath + "/secure/goLogin"; return; } } fn.success(data, textStatus, jqXHR); } }); var def = ajax.call($, _opt); if('done' in def){ var done = def.done; def.done = function (func) { function _done(data) { if( typeof data == "string") { if(data.indexOf('shanzhubuchiwandoujie') != -1) { window.location.href= globalPath + "/secure/goLogin"; return; } } func(data); } done.call(def, _done); return def; }; } return def; }; });
以上程式碼也是包含了標記的,那麼ajax跳轉的頁面就不能包含上面這段程式碼,否則就會跳到登陸。