1

如何将在初始页面加载期间创建的 PHP 对象传递给 ajax 调用?

create-page.php创建我的页面并有一个对象expensiveObject。我需要传递expensiveObjectajax-some-stuff.php.

选项 1:我是否应该 json_encode() 对象,将其附加到我的 URL,使用 javascript 获取我的 URL 的那部分,然后将其发送回 PHP ajax?

选项 2:我可以将其存储为 $_SESSION 变量吗?

4

2 回答 2

1

我会把它保存起来,$_SESSION因为这会阻止你通过互联网发送数据,这些数据应该只在服务器上处理。会有安全问题以及性能问题。

保存对象时,您可能需要实现__sleep()__wakeup()取决于您的对象$_SESSION

于 2013-06-21T02:19:43.870 回答
0

我想使用选项 1,但在 json_encode 函数之后,我将使用 base64_encode 再次包装它,因为 json_encode 仍然不是 URL 安全字符串。

$_SESSION 方法既好又简单,但取决于您的对象。如果我没记错的话,$_SESSION 可以存储最大大小的数据。- 如果您是服务器端会话,您的服务器内存将被消耗 - 使用 cookie 作为会话替换将限制数据大小

于 2013-06-21T02:32:41.080 回答