2013-05-04 43 views
1

我有一个注册页面。ajax - onload和onunload的开始和结束会话

在此页面上,用户输入值由php后端对表进行异步检查。

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

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

这个工作在实践中吗?

(为我担忧详见注释)

UPDATE:

提出的主要问题是,它会创建一个悬空的会话。这可以通过在会话中放置一个简单的5分钟超时来解决吗?

+0

听起来很不错。你为什么认为它*不会工作? – techfoobar 2013-05-04 14:45:10

+0

我担心的是,我不知道这是一种广泛采用的做法,如果不是,那么我担心therre是不被广泛采用的一个很好的理由。如果这是有道理的:S – user965369 2013-05-04 14:47:35

+0

For例如众所周知的onunload不一致,我不知道,可能会导致会话中断或什么 – user965369 2013-05-04 14:48:47

回答

0

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

请不要试试这个。