如何在用户保存表单时处理会话超时?

前端之家收集整理的这篇文章主要介绍了如何在用户保存表单时处理会话超时?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们的系统有一个小时的会话长度.有时,这会在用户按下表单上的“保存”按钮之前到期.当会话超时时,它们会被踢回登录页面并且它们的数据会丢失.这显然很糟糕.

我正在试图想出一个更好的方法来处理这种情况.这就是我提出的:

>在每个页面加载时,在JavaScript中启动一个55分钟的计时器.当它用完时,弹出一条消息,说“你的会话即将过期,如果你还活着,请点击这里”.

>单击该链接会将AJAX请求发送回服务器以重置会话
>如果他们在接下来的5分钟内没有点击链接,因为他们已经合法地不得不离开他们的计算机一分钟,但仍然有大量的工作形式怎么办?

>每30秒左右轮询一次服务器以查明其会话何时到期,然后在弹出窗口中显示登录屏幕

>让会议到期.将POST数据复制到安全的地方(其中??).当他们尝试保存表单时,他们将像往常一样被踢到登录表单.成功登录后,将数据重新发布到正确的位置.

其他人如何处理这种情况?什么是最好/最简单的方法

解决方法

好.除了人们所说的“如果用户在表单上花费超过1小时,表单有问题”或“如果用户长时间闲置,这是他们的问题,只需将它们扔回登录页面”,我们与真实的人生活在一个真实的世界中,时间就是金钱.假设您经营一家网上商店,用户可以在他们的购物车中放入价值10,000美元的电话,他们的电话铃声和他们的女朋友会谈1小时……假设您的表单是一个textarea,用户决定写下他们的整个生命…假设您的应用是一个网络邮件.电子邮件正文是表格,对吧?我们不希望用户丢失他们花了2个小时写给亲人或重要客户的电子邮件,我们保存了草稿!有许多不同的可能性可以证明计时器,存储数据和 pinging the server.

如果您在时间/金钱关键表单页面上,请不要犹豫刷新服务器并保持会话活动.监控一些事件,如按键,点击等.这将以合法的方式刷新会话,只要它提供用户在那里的线索.

>使用浏览器事件甚至在提交表单之前保持会话处于活动状态>如果会话即将到期,请另存为草稿.>如果会话已过期,请使用灯箱再次获取凭据.

猜你在找的HTML相关文章