主动式session过期提示

主动式session过期提示

什么是 “主动式session过期提示”?恩,这是偶给命的名。来源于一个同事问我,js如何实现当session过期的时候弹层提示:您的session已经过期,请重新登录(之类的信息,看不同需求了)。

偶刚听到这个问题,还蛮奇怪的,当离开一个页面时间久到session已经过期了,当再次操作时直接跳转到登录页面不就行了,然后登录框上面可以提示需要重新登录。再深入谈了一下这个需求,偶感受到了某些不同,而这种不同也是偶 起名: 主动式session过期提示 的原因所在。

比如说一个数据编辑的页面,鬼知道可能操作人员填写数据填了一半 ,因为虾米原因离开了很久,久到session过期了,而他又不知道,然后回来继续填数据,最后提交。。。杯具了,因为session过期,被重定向到了登录页面,登录后再回来,数据可能全没了。。。努力付之东流。以上是偶想到的一个可能的场景。用户 的体验极其不好。。。(或者设置session过期时间长一些。。)

这时 主动的提示就比较重要了。js如何实现呢?很直接想到ajax,ajax轮询么?仔细想想就知道不对了,不停的轮询不会导致session过期的,因为他是活跃的。当然这样子可以做到session不过期,也就不需要主动提示了。不过深入思考下轮询,如果把轮询时间间隔设置的比session过期时间还大一些呢?恩,有些眉目了。

比如,session过期时间已经设置为30分钟,那么前端页面嵌入一个定时ajax查询,这个“定时”仅仅比30分钟大一点(大1秒还是1分钟,看情况定吧),利用setTimeout() 或者setInterval();

  
  
  1. setTimeout(todo, 31min);
  2. function todo(){
  3. //todo,31分钟后发送一个get请求到服务器,返回一个是否过期的标志,
  4. 如果过期了,弹出一个登录层(而不是物理页面跳转,避免页面数据丢失),
  5. 登录即可。
  6. do a ajax;
  7. },

http://cssor.com/active-session-torn-down-prompt.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值