我正在发送一个 Ajax 请求,该请求将对象 objectVariable
发送到 PHP 文件:
$.post(url, {action : 'function' , object : objectVariable });
然后,PHP 文件会将 objectVariable
存储在 $_SESSION['objectVariable']
中(为了清楚起见,我省略了验证):
function function_callback() {
if(!session_id())
session_start();
$_SESSION['objectVariable'] = $_POST['objectVariable'];
}
当用户转到网站的其他页面时,$_SESSION['objectVariable']
会再次通过 Ajax 从 PHP 发送给用户。
在这里,我应该将 $_SESSION['objectVariable']
中存储的数组编码为 JSON 字符串:
//inside other Axax callback function
echo json_encode($_SESSION['objectVariable']);
这工作正常,但我也可以将 JSON 字符串存储到 $_SESSION['objectVariable']
中:
function function_callback() {
if(!session_id())
session_start();
$_SESSION['objectVariable'] = json_encode($_POST['objectVariable']);
}
之后,只需 echo $_SESSION['objectVariable']
将其发送到 Javascript 文件。
我想知道什么是更好的方法:在 $_SESSION['objectVariable']
中存储数组,或存储 JSON 字符串。
有什么建议吗?
最佳答案
在 Javascript/PHP 之间发送数据时,我始终将其编码为 JSON 字符串。它让事情变得更简单。事实上,当您第一次将其发送到服务器时,我会立即 JSON.stringify()
它。
这样您也将始终知道数据的类型。
关于javascript - 通过 Ajax 将 Javascript 对象存储在 $_SESSION 中。数组与 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25547170/