0

我有一个大型网页(经典 ASP),其中包含用户需要的大量信息,因此需要大量输入。用户的行为是他会随着时间的推移填写信息,在提交之前分析它和其他耗时的过程。问题是,即使会话超时设置为合理的 30 分钟,我经常收到投诉,即在提交时,用户收到超时消息并丢失了他之前填写的所有工作。我认为如果会话被放弃,检查提交事件会很优雅,在这种情况下会出现登录表单。通过使用 Ajax 同步,对于会话检查和登录本身,网页的状态将保持不变,允许用户在会话恢复后继续提交。

但是,我一直在阅读有关同步的危险,以及如何建议尽可能避免。对我来说,这似乎是需要同步的情况之一,但我之前没有找到任何人这样做过。我正在寻找关于这是否是一个好的行动方案的建议,使用 Ajax 同步进行会话恢复。

谢谢你。

4

1 回答 1

0

这里不需要做同步请求。您可以取消表单提交(return falseevent.preventDefault()从提交处理程序),启动异步 XMLHttpRequest 进行检查,然后在 AJAX 响应处理程序中显示一条消息或重新启动表单提交 ( form.submit()) 视情况而定。

如果导致这些问题,我建议 30 分钟可能不是合理的会话超时。更长的超时时间和/或让表单 ping 服务器以保持会话活动,对于用户来说可能是一种更方便的方法。

于 2010-10-05T15:45:07.647 回答