这次给大家带来用ajax实现session超时跳转到登录页面,用ajax实现session超时跳转到登录页面的注意事项有哪些,下面就是实战案例,一起来看一下。
问题:使用window.location.href来跳转页面的时候,后端只需实现一个过滤器就可以在session超时的情况下重定向到登陆页面。但是使用ajax呢?使用ajax来执行会发生302错误,并且页面不可能跳转。下面就针对这个问题来贴上我的前后端代码。
1、session过滤器
import java.io.IOException;
<p style="text-align: center">@@##@@@@##@@@@##@@@@##@@@@##@@ 0 || requestUri.indexOf("/system/login") > 0) {
return ;
}
<p style="text-align: center">@@##@@@@##@@<p style="text-align: left;"><strong>2、web.xml添加配置:</strong></p><pre class="brush:php;toolbar:false;"><filter>
<filter-name>sessionFilter</filter-name>
<filter-class>com.manager.filter.SessionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sessionFilter</filter-name>
<url-pattern>/manager/*</url-pattern>
</filter-mapping>*3、重写ajax
注意:此段代码放在index页
jQuery(function($){
var _ajax=$.ajax;
$.ajax=function(opt){
var _success = opt && opt.success || function(a, b){};
var _opt = $.extend(opt, {
success:function(data, textStatus){
_success(data, textStatus);
},
error:function(XMLHttpRequest, textStatus, errorThrown){
//alert(XMLHttpRequest.responseText);
//如果请求发生错误,会返回登陆页面源代码,如果源代码里面存在lovnx这个字符串,前端就重定向到登陆页面
var reData = XMLHttpRequest.responseText + "";
if(reData.indexOf('lovnx') != -1) {
window.location.href="/manager/login.html" rel="external nofollow" ;
return;
}
}
});
return _ajax(_opt);
};
});4、登陆页面添加代码
<input type="hidden" value="lovnx">
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号