我正在构建一个用户可以绘制图形的平台。 为了做到这一点,我使用Chart.js,每次创建图形时,我都会在javascript数组中保存这个实例(一个javascript对象)。
我想要做的是使用AJAX将该实例数组保存在PHP会话变量中,以便用户稍后可以检索其配置。
根据我的理解,通过AJAX发送到PHP的Javascript对象将转换为PHP数组格式,返回的值将取决于我们期望的“dataType”(json,html,xml ...)
但是,我想要检索的是与我的图形实例完全相同的Javascript数组,以便重新实例化它们,而不是“转换后的格式”。
提前感谢您的帮助!
答案 0 :(得分:0)
你几乎没有选择:
答案 1 :(得分:0)
如果你想绝对肯定,你从PHP获得相同的对象(没有转换),你可以将它序列化为一个字符串(JSON.stringify(object)
),然后再解析它。
这是一个解决方案:
JavaScript(发送数据):
var data = [
{ "abc": "def" },
{ "ghi": "jkl" }
];
$.ajax({
"url": "http://localhost/savedata.php",
"method": "POST",
"data": {
"list": JSON.stringify(data)
}
});
PHP(savedata.php
):
<?php
session_start();
$_SESSION['data'] = $_POST['list'];
?>
PHP(getdata.php
)
<?php
session_start();
header("Content-Type: application/json");
echo $_SESSION['data'];
?>
JavaScript(接收数据):
var data = [];
$.ajax({
"url": "http://localhost/getdata.php",
"method": "GET",
"success": function(response) {
data = response;
}
});