php - ajax - 使用 onload 和 onunload 启动和结束 session

标签 php javascript ajax

我有一个注册页面。

在此页面上,PHP 后端根据表异步检查用户输入值。

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

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

这在实践中可行吗?

(有关我的担忧的详细信息,请参阅评论)

更新:

提出的主要问题是它将创建一个悬空 session 。是否可以通过在 session 中设置简单的 5 分钟超时来解决此问题?

最佳答案

对于任何想知道的人来说,这被证明是一个难以忍受的可怕想法。原则上没问题,但管理所有 session 并确保一切与前端保持同步几乎是不可能的,而且根本无法扩展,这反过来又使我的 Controller 结构变得如此复杂,以至于调试起来是一场噩梦(更不用说我了)每次更新开发仓库时都必须清除浏览器缓存..)。它浪费了我很多时间,让我错过了一些关键的最后期限,最终却付出了巨大的努力,而实际上的开销却很小。

请不要尝试这个。

关于php - ajax - 使用 onload 和 onunload 启动和结束 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16375483/

相关文章:

php - 我应该使用 php mysql 或 json 文件来检索数据?

javascript - 使用 AJAX jQuery 从 PHP 脚本返回 JSON 数据

php - 将套接字资源转换为流套接字

php - 在数据库中保存 morphOne 多态

javascript - 带有 javascript 的 HTML 表单在 IE 中获取 "NaN"但在 Chrome 中有效

javascript - 扩展范围(如 window、gBrowser)中有哪些变量可用?

javascript jquery ajax 成功返回对象

javascript - 单击一个按钮以在 PHP 中运行 casperJS 并在带有按钮的同一 PHP 页面中回显结果

javascript - 使用 AJAX 加载站点的所有页面

php - 如何获取 session 数组数据 CodeIgniter