解决AJAX应用,会话超时(Session Timeout)的问题,粗略方法(不考虑使用Filter的前提下)

function ajaxPost(url, data) {
var async = false;
var result = {};

$.ajax({
url : url,
async : async,
cache : false,
data : data,
type : "POST",
// beforeSend : function(request) {
// if(window.console){
// console.log("beforeSend");
// }
// },
// ajaxSend : function(){
// if(window.console){
// console.log("ajaxSend");
// }
// },
success : function(data){
// if(window.console){
// console.log("success");
// console.log(data.status);
// console.log(data);
// console.log(data.status);
// console.log(typeof data);
// }
if(typeof data == "string"){//返回的HTML字符串
if(data.indexOf("登录") != -1){//如果HTML字符串里包含登录关键字
location.reload(true);
}else{
result = data;
}
}else if ( typeof data == "object" ) {//返回的JSON数据
result = data;
}
},
// ajaxSuccess : function(){
// if(window.console){
// console.log("ajaxSuccess");
// }
// },
error : function(){
// if(window.console){
// console.log("error");
// }
location.reload(true);
},
// ajaxError : function(){
// if(window.console){
// console.log("ajaxError");
// }
// },
complete : function(xhr, textStatus){
// if(window.console){
// console.log("complete");
// console.log(xhr);
// console.log(xhr.status);
// console.log(textStatus);
// }
}//,
// ajaxComplete : function(){
// if(window.console){
// console.log("ajaxComplete");
// }
// }
});

return result;
}

时间: 2024-07-30 06:33:01

解决AJAX应用,会话超时(Session Timeout)的问题,粗略方法(不考虑使用Filter的前提下)的相关文章

express解决ajax跨域访问session失效问题

最近在学习express,就用以前做的项目来进行express前后端分离的练手了,在做登陆注册的时候发现跨域的时候,session的值是会失效的,导致session里面的数据获取为undefined,网上找资料加上自己的不断尝试,终于找到了解决方法,简单记录一下解决方法. 1.客户端因为session原则上是需要cookie支持的,所以Ajax方法里面必须添加 xhrFields:{withCredentials:true},表示允许带Cookie的跨域Ajax请求( 特别说明,只要使用的ses

Zookeeper中Session Timeout的那些事

前言: RDS系统致力于MySQL数据的高可用,高可靠,高性能以及在线扩展功能,实现这些特性的主要逻辑功能都运行在管理服务器上,一旦管理服务器宕机,数据库的在线扩展功能/备份功能/故障恢复功能等都无从谈起.然而,之前RDS系统管理服务器却是单点服务,为了保证整个系统的稳定性,管理服务器需要实现高可用,结合当前主流的高可用方案,决定使用Zookeeper来实现服务的高可用. 基本设计方案原理: 如下图所示,管理服务器A B C会在zk的root节点上注册临时序列节点/root/manager000

Ajax请求会话过期处理(JS)

对于页面来说,处理session过期比较简单,一般只需在过滤器里面判断session用户是否存在,不存在则跳转页面到登陆页即可. 对于Ajax请求来说,这个办法则无效,只能获取到登录页的html代码.原因在于Ajax请求是XMLHTTPRequest对象发起的而不是浏览器,而服务器返回的信息接收者也是XMLHTTPRequest,非浏览器. 解决办法: 服务器端 可在返回的ResponseHeader里添加一个标识变量,以便在Javascript里处理.以Java为例,可在过滤器里进行如下处理:

【转】ZooKeeper 会话超时

原文链接 http://www.chepoo.com/zookeeper-session-timeout.html 1.会话概述 在ZooKeeper中,客户端和服务端建立连接后,会话随之建立,生成一个全局唯一的会话ID(Session ID). 服务器和客户端之间维持的是一个长连接,在SESSION_TIMEOUT时间内,服务器会确定客户端是否 正常连接(客户端会定时向服务器发送heart_beat,服务器重置下次SESSION_TIMEOUT时间). 因此,在正常情况下,Session一直有

Session Timeout 与 $.ajaxSetup

对于session过期跳转的问题,很简单,就是一个过滤器,然后判断session为空?跳转:继续.但是对于ajax的请求,需要做特殊处理,见下面代码中的 // 此处考虑ajax操作session过期的操作,如果ajax请求过程中session过期,则指定过期状态码为:911.String requestType = req.getHeader("X-Requested-With"); 因为ajax请求的时候请求头是:X-Requested-With,so我们可以根据该请求头做sessi

angular访问后台服务及监控会话超时的封装实现

angular本身自带访问组件http和httpclient,组件本身都是异步模式访问.本文只列举了对http组件的封装同时也一同处理会话超时监控. 实现思路概述: 1.将请求入参和出参统一约定 2.封装方法将请求参数.数据处理方法.数据呈现方法.访问错误处理方法封装在一起,业务调用通过服务调用该封装方法,同时把请求参数.数据处理方法.数据呈现方法.访问错误处理方法传过来即可 3.在每次请求交互时,都会记录当前请求时间.系统工作台组件中增加监控处理,判断是否超时,超时分钟可自定义 下面是相关实现

Tomcat会话超时时怎样记录操作日志,满足安全审计要求

众所周知.在实际的Web应用程序中,会话管理一般都採用Web容器会话管理功能. 使用Tomcat做Webserver也是如此,并且从安全的角度考虑,尽量避免去更改和干预Web容器的会话管理功能. Tomcat会话管理功能肯定比我们自己做出来要全面和可靠,况且Tomcat是主流开源社区维护的.有专门的团队来开发和维护.一旦爆出安全漏洞,也能非常快被修复. 在实际开发中,为了满足安全审计的要求.Web应用程序一旦有会话注销.就应该记录操作日志.注销一般分为操作者主动注销.应用程序检測到异常攻击主动注

JSP的会话(Session)跟踪

以下内容引用自http://wiki.jikexueyuan.com/project/jsp/session-tracking.html: 会话(Session) HTTP是一个“无状态”协议,这意味着每一次客户端检索Web页面时,客户端打开一个单独的Web服务器且服务器不会自动连接任何以前的客户端请求的记录. Web客户端和Web服务器之间的会话有以下几种方式: 一.Cookies 网络服务器可以为每个Web客户端和使用已接收的Cookie可识别的来自客户端的后续请求分配一个唯一的会话ID作为

了解负载均衡 会话保持 session同步(转)

一,什么负载均衡 一个新网站是不要做负载均衡的,因为访问量不大,流量也不大,所以没有必要搞这些东西.但是随着网站访问量和流量的快速增长,单台服务器受自身硬件条件的限制,很难承受这么大的访问量.在这种情况下,有二种方案可以选择: 1,对单台服务器的硬件进行更新,由双核的变成四核的,内存加大等. 2,增加服务器的台数,来分担服务器的负担.以实现增加网络带宽,增加服务器的处理能力的目的. 第一种方法可以理解为纵向发展,这种方法总是有限. 第二种方法才是解决问题的正确选择 实现负载均衡的方法,大至分为二