时间:2021-05-28
如处理不当会影响用户体验,也有可能产生莫名的问题。
结合自己的思考和网上相关内容的参考,给出如下解决方案。每个方案都有不同的优缺点,欢迎
大家指正。
方案1:检查AJAX返回的返回的内容是否有<html>标签
在web系统中,当session过期时,当用户有操作的时候,此时系统一般会返回登陆界面。
让用户重新输入用户名和密码。当session过期的时候,AJAX请求返回的内容应该是登陆界面的页面
内容(即登陆界面的页面的html代码)。通过判断返回内容是否用<html>来判断session是否过期。
var result=request.responseText;
if(result.indexOf('<HTML>')>-1){}
或者
var r=/<html>/ig;
if(r.test(result)){}
通过上面的方法可以判断session是否过期,然后根据具体的业务进行异常处理。
方案2:返回的结果中有session是否过期的标志。也有人称为true/false模式
此解决方案一般结合json使用。
如返回的结果是:
var res={
"result":true,
"data" :""
}
if(res["result"])
{
}else{
}
方案3:利用时间戳
在页面上搞个全局变量
var startDate;
if(new Date().getTime()-startDate.getTime()<30*60*1000)
{
}else{
}
哈哈!Do not trust the client
方案4:延长session过期时间
此方案有性能问题
4.1:延长session过期时间
4.2:client轮循server。(AJAX轮循server或client,server保持长连接)
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言本文主要探讨集群后不同Web服务器获取Session数据的问题解决方案。SessionStickSessionStick方案即将客户端的每次请求都转发至同一
电商数据分析,往往可以通过这样几个步骤:建立完整的数据追踪体系对获取到的数据报表版进行分析,找出权其中问题针对从数据中找到的问题提出解决方案,评估解决方案的实现
通过ajax向后台发送和接收数据时,常常会出现同步异步问题。由于ajax是默认异步加载的,但有时候需要同步或者同步的效果,有以下两种解决方案。方案一:将某些方法
在实际项目当中,我们经常会遇到同一个域名下不同项目之间通过Ajax相互调用数据,这样问题就来了,如何通过Ajax实现跨域呢?解决方案1.JsonpJsonp解决
jQuery的ajax,当async为false时,同步操作失败。解决方案,jqueryasync最近做项目遇到jQuery的ajax,当async为false