在登陆也上做一个标记比如
<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跳转的页面就不能包含上面这段代码,否则就会跳到登陆。