我试图通过以下方式将多维度Javascript数组传递到网站上的另一页:
在数组上使用JSON.stringify的
完全)
第1页上的Javascript:
var JSONstr = JSON.stringify(fullInfoArray);
document.getElementById('JSONfullInfoArray').value= JSONstr;
第二页上的 php:
$data = json_decode($_POST["JSONfullInfoArray"]);
var_dump($data);
echo($_POST["JSONfullInfoArray"]);
echo 工作正常,但var_dump返回NULL
我做错了什么?
这使我得到解决:
$postedData = $_POST["JSONfullInfoArray"];
$tempData = str_replace("\\", "",$postedData);
$cleanData = json_decode($tempData);
var_dump($cleanData);
我不确定为什么,但是帖子中出现了一堆“\”字符,将字符串中的每个变量分开
使用Bart认为的
json_last_error()
找出来,并返回了JSON_ERROR_SYNTAX
最佳答案
您需要检查$_POST["JSONfullInfoArray"]
的内容。如果某些内容无法解析json_decode
,则仅返回null
。这不是很有帮助,所以当返回null
时,您应该检查json_last_error()
以获取有关发生问题的更多信息。