如何将在初始页面加载期间创建的PHP对象传递给ajax调用?
create-page.php
创建我的页面并有一个对象expensiveObject
。我需要将expensiveObject
传递给ajax-some-stuff.php
。
选项1:我应该json_encode()对象,将它附加到我的URL,用javascript抓取我的URL部分,然后将其发送回PHP ajax?
选项2:我可以将其存储为$ _SESSION变量吗?
答案 0 :(得分:1)
我会将其保存在$_SESSION
中,因为这会阻止您通过互联网发送数据,而互联网应仅在服务器上处理。会出现安全问题以及性能问题。
在__sleep()
__wakeup()
和$_SESSION
,具体取决于您的对象
答案 1 :(得分:0)
我想使用选项1但是在json_encode函数之后我会用base64_encode再次包装它,因为json_encode仍然不是URL安全的字符串。
$ _SESSION方法简单易用,但取决于您的对象。如果我没有弄错的话,$ _SESSION可以在那里存储最大数据量。 - 如果您是服务器端会话,您的服务器内存将被消耗 - 使用cookie作为会话替换将限制数据大小