我正在编写一个 Web 应用程序,它可以按设定的时间间隔通过 AJAX 调用自动刷新数据。
因为这样做,服务器端用户会话永远不会超时,因为每次 ajax 调用都会刷新最后一个活动。
我是否可以实施良好的客户端规则来使用户超时? IE。我应该跟踪浏览器中的鼠标移动等,还是应该将 AJAX 调用指向不刷新会话的 URL?
我喜欢我的 AJAX 调用命中启用会话的 URL,因为我还可以验证用户是否已登录等。
关于我是否应该让用户超时有什么想法吗?
我使用过的一项技术是:增加每次调用时 AJAX 调用之间的间隔。因此,您在 10 秒后进行第一个 AJAX 调用,然后等待 11 秒,然后是 13 秒,然后是 16、20、25 秒……(或某种类似的模式)。每次有页面活动(通过注册一些 JS 事件发现)时,您都将间隔重置回起始值(例如 10 秒)。
当 AJAX 间隔变得比超时时间长时,这种技术将导致一段时间没有接触浏览器的用户最终超时。作为额外的好处,您将减少服务器负载 - 如果用户长时间打开浏览器窗口,他们在超时之前发出的请求会越来越少。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)