ajax提交session超时跳转页面使用全局的方法来处理

在过滤器中写入如下方法:

复制代码 代码如下:

public void doFilter(ServletRequest request, ServletResponse response,

FilterChain chain) throws IOException, ServletException {

HttpServletRequest httprequest = (HttpServletRequest) request;

HttpServletResponse httpresponse = (HttpServletResponse) response;

String url = httprequest.getRequestURL().toString();

if (httprequest.getSession()== null) {

if (httprequest.getHeader("x-requested-with") != null

&& httprequest.getHeader("x-requested-with").equals(

"XMLHttpRequest")) { // ajax请求

httpresponse.setHeader("sessionstatus", "timeout");

} else {

httpresponse.sendRedirect("/test/index.jsp");

return;

}

} else {

chain.doFilter(request, response);

}

}

这样,如果session超时,而且是ajax请求,就会在响应头里,sessionstatus有一个timeout;

再用一个全局的方法来处理,session超时要跳转的页面。

jquery 可以用$.ajaxSetup 方法,ext也有类似的方法:

复制代码 代码如下:

//全局的ajax访问,处理ajax清求时sesion超时

$.ajaxSetup({

contentType : "application/x-www-form-urlencoded;charset=utf-8",

complete : function(XMLHttpRequest, textStatus) {

var sessionstatus = XMLHttpRequest.getResponseHeader("sessionstatus"); // 通过XMLHttpRequest取得响应头,sessionstatus,

if (sessionstatus == "timeout") {

// 如果超时就处理 ,指定要跳转的页面

window.location.replace("/test/index.jsp");

}

}

});

时间: 2024-09-11 18:28:57

ajax提交session超时跳转页面使用全局的方法来处理的相关文章

ajax提交session超时跳转页面使用全局的方法来处理_AJAX相关

在过滤器中写入如下方法: 复制代码 代码如下: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httprequest = (HttpServletRequest) request; HttpServletResponse httpresponse =

重写 ajax 实现 session 超时跳转到登录页面实例代码

问题:使用window.location.href来跳转页面的时候,后端只需实现一个过滤器就可以在session超时的情况下重定向到登陆页面.但是使用ajax呢?使用ajax来执行会发生302错误,并且页面不可能跳转.下面就针对这个问题来贴上我的前后端代码. 1.session过滤器 import java.io.IOException; <p style="text-align: center"><img alt=""import javax.s

webix+springmvc session超时跳转登录页面_javascript技巧

引言 最近做项目,发现ajax请求不能在服务器中直接重定向到登录页面.查了些资料发现jquery的ajax请求有人给出了方法.但是webix的ajax请求和jquery的有些区别.这里模仿jquery的处理方式实现webix的ajax请求session超时跳转. 具体的做法: 1.查看webix.js源码发现webix.ajax只有请求前的监听函数 "onBeforeAjax", 要做到获取返回状态跳转登录页面必须要有个返回的监听函数,但是源码没有.所以我修改了下源码,加了个返回的监听

ajax请求 session超时

问题描述 ajax请求 session超时 ajax请求,session超时的情况下,怎么跳转到首页?通过request.getHeader(""x-requested-with"")可以获取到是ajax请求的,也知道将信息放到response,但是页面上要写一个jquery.ajaxSetup({...})处理ajax请求时session的超时,这个是怎么用的???放到什么位置 解决方案 超时的时候你返回一个特殊信息,如offline,ajax判断返回信息存在of

求助,asp.net 赋值Session问题,为什么注册完给Session赋值跳转页面进行购物,从Session里拿用户主键ID拿不到呀?其它字段属性就有值

问题描述 注册完给Session赋值跳转页面进行购物加入购物车时拿Session用户主键ID没值测试其它属性字段有值 解决方案 解决方案二:发问前,你是不是该调试下你赋值地方的那个user,它的id你赋值了吗?因为我都看到user.UserStateId都是可以赋值的,很难不联想到你的id没赋值

ajax提交到servelt获取参数有乱码的解决方法

 这篇文章主要介绍了ajax提交到servelt获取参数有乱码的解决方法,需要的朋友可以参考下 在这里,假设读者了解基本的    ajax    技术或更多.我仅仅阐述一个现象,一个解决方法:原因.    原理,同样不清楚    --    我们先从简单的着手,    servlet传值到JSP页面js    脚本中,利用脚本将相关值显示在页面.解决这个方向(servlet--javascript)的中文乱码问题很简单.只需要在    servlet中,添加一个    编码设置:   代码如下:

Web 开发中 Ajax 的 Session 超时处理

在 Java Web 开发中,当session超时的情况下,普通页面的跳转好处理.关于Ajax的请求超时处理,就需要特殊处理下了. 先写一个统一的过滤器,或者拦截器,针对Ajax请求进行过滤处理,下面示例以Filter为例: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServ

在ajax success里面 JavaScript跳转页面的方法不不能跳转的吗? 我试了好多种没有反应

问题描述 $.ajax({url:"/Ajax/System/ajaxcheshi.ashx",dataType:'text',//datatype:"json", type:"post",data:user,//,quenceAge=quenceAge,ctertime=ctertime,tquencether=tquencether,Status=Status}success:function(data){if(data=="1&q

DEDECMS自定义表单提交后的跳转页面的教程

本文实例讲述了DEDECMS自定义表单提交后的跳转链接修改方法.分享给大家供大家参考.具体实现方法如下: 自定义表单,点击提交后,默认跳转到首页,我们打开plus/diy.php,里面有这样一段代码 if($dsql->executenonequery($query)) { $id = $dsql->GetLastID(); if($diy->public == 2) { //diy.php?action=view&diyid={$diy->diyid}&id=$i