【发布时间】:2013-06-18 01:58:20
【问题描述】:
如何将在初始页面加载期间创建的 PHP 对象传递给 ajax 调用?
create-page.php 创建我的页面并有一个对象expensiveObject。我需要将expensiveObject 传递给ajax-some-stuff.php。
选项 1:我是否应该 json_encode() 对象,将其附加到我的 URL,使用 javascript 获取我的 URL 的那部分,然后将其发送回 PHP ajax?
选项 2:我可以将其存储为 $_SESSION 变量吗?
【问题讨论】:
-
如果它是一个标准类/匿名对象,如果它是一个自定义类对象,最好将其存储在会话中,只需确保在会话开始之前需要实现类的文件,或者有一个自动加载器在玩。
-
@MartyWallace - 在我的 ajax 脚本中,我有一些方法需要
$expensiveObject->someFunction()的昂贵对象。 -
我明白你的意思了。你不打算将它传递给脚本,你只需要在脚本执行时引用它。
-
@Orangepill 谢谢 - 自定义类与标准类是什么意思?
-
stdClass 对象是 php 通过某些原始方式创建的匿名对象,第二个参数没有 true 的 json_decode 是最常见的罪魁祸首之一。它将具有属性,但不会定义任何方法。自定义类是具有与之关联的实际类定义的类。如果您编写了我所说的自定义类。
标签: php javascript json oop serialization