Ajax——通过onload和onunload启动和结束会话


ajax - starting and ending sessions with onload and onunload

我有一个注册页面。

在该页,用户输入的值由php后端根据表进行异步检查。

我的问题是数据模型对象相当大;当有人进入页面(onload)时,通过ajax启动会话是明智的吗?这会缓存模型对象,以便来自该客户端的所有其他ajax请求不会在每次请求时都重新创建数据模型对象。然后,当用户导航离开页面(onunload或其他)时,发送ajax请求并销毁会话。

对我来说,这似乎是一个好主意,因为用户与表单交互的每个异步请求都不会重新创建之前创建的所有对象。

这在实践中可行吗?

(我担心的细节见评论)

更新:

产生的主要问题是它将创建一个悬空会话。这是否可以通过在会话上设置一个简单的5分钟超时来解决?

对于任何想知道的人来说,这被证明是一个令人难以忍受的可怕想法。这在原则上是可以的,但管理所有会话并确保所有内容与前端保持同步几乎是不可能的,并且无法扩展,这反过来又使我的控制器结构变得如此复杂,以至于调试是一场噩梦(更不用说每次更新开发repo时我都必须清除浏览器缓存……). 它浪费了我大量的时间,导致我错过了一些关键的截止日期,最终是一个巨大的努力,实际上是一个很小的开销。