gpt4 book ai didi

javascript - 通过 Ajax 将 Javascript 对象存储在 $_SESSION 中。数组与 JSON 字符串

转载 作者:行者123 更新时间:2023-12-03 11:57:20 24 4
gpt4 key购买 nike

我正在发送一个 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com