PHP使对象可以全局用于ajax

时间:2011-11-01 15:59:53

标签: php jquery ajax object

我认为这可能是this question的重复,但我真的不明白答案

我想在脚本/页面的开头创建一个新对象。该页面有多个步骤,我想在每个步骤中使用Ajax和单独的PHP文件。但是,其中一些步骤需要修改对象。

这样做的正确方法是什么。我正在使用JQuery Ajax。

它基本上是一个结帐页面,但后面的阶段是根据所选的选项生成的。

3 个答案:

答案 0 :(得分:1)

如果您需要跨多个请求保留数据,则应使用会话或Cookie。

答案 1 :(得分:1)

您可以让对象代表数据库表。如果它是User对象,则创建用户表,并通过JSON请求通过加载ID来修改对象。基本上,每当你发出一个AJAX请求时,取消冻结它,然后修改它,并将它粘贴回数据库。

或者,您可以将其粘贴到$_SESSION中,但请记住,您的对象必须能够完全序列化。

答案 2 :(得分:1)

您要做的是保持数据可通过多个连接访问 - 保留数据。它在PHP中非常简单,只需使用会话。

首先,如果要访问持久数据(或存储任何数据),则需要启动会话。这样做:

session_start();

从那时起,您添加的任何内容都将被存储(除了一些例外 - 例如,存储MySQL连接可能不会很好)。不过不用担心 - 数据仅对用户持续存在。例如,其他人将无法访问其他人的购物车或表格中的进展。

以下是针对会话存储数据的方法:

$obj = new MrClass();
$_SESSION['form_object'] = $obj;

稍后,只需像往常一样访问它:

$_SESSION['form_object']->someMethod();

记住:每个AJAX请求必须以session_start()开头。