从Element中将变量写入会话?

时间:2012-11-11 11:47:49

标签: ajax cakephp session-variables

我有一个通过ajax在我的“posts / add”视图中呈现的元素。该元素使用jQuery计算用户的点击次数并将其保存在变量中(让我们称之为$ clickCount)。

现在,我想将$ clickCount传递回/ add视图,这样我就可以将其与其他几个表单输入一起保存到数据库中。

我将$ clickCount传递给控制器​​(通过Ajax)并尝试保存在会话中,但似乎/ add视图根本看不到它。这就好像元素有一个完全不同的会话(对我来说没有意义?)。因此,即使我将变量传递回控制器,我也无法从posts / add视图中访问它。

我花了太多时间在这上面,我真的希望有人可以提供帮助。

1 个答案:

答案 0 :(得分:0)

听起来可能是因为你正在进行ajax调用以保存会话变量,但是你必须记住你没有刷新页面,所以页面上的会话没有改变,因此你的新会话值尚不可用于视图。

如果您不想在保存会话值后刷新页面,则需要将值作为ajax请求的响应返回,并使用JavaScript将其添加到页面中。您可以将其写入隐藏的表单字段或其他内容(如果适合您以后将其保存到数据库中)。

或者,如果可能的话,在您首先发出ajax请求时将值保存到数据库,并消除整个会话事务(如果这不会影响数据库)。