我有一个二维的对象数组,如下所示:
function test(n){
this.id = n;
}
var testArray= new Array(2);
for(i = 0; i < testArray.length; i++){
testArray[i] = new Array(2);
for(j = 0; j < testArray[i].length; j++){
testArray[i][j] = new test((2*i)+j);
}
}
然后我使用AJAX将其字符串化为post:
var data = {testA: {testB: testArray[0], testC: testArray[1]}}
var text = JSON.stringify(data);
我执行jquery AJAX调用后:
$.post("test.php",text,function(data){
alert(data);
});
我无法弄清楚如何在PHP端解码和使用这个对象,到目前为止我尝试过这样的事情:
<?php
$data = json_decode($_POST);
if($data == null){
echo "fail";
} else {
echo $data;
}
?>
但我得到一个错误,表示它需要一个字符串,而我正在传递一个数组。我也试过像
这样的东西$data = json_decode($_POST['testA']);
然后错误没有出现,而是总是输出“失败”。
有没有人知道我需要在PHP端做什么才能访问数据?
答案 0 :(得分:2)
为什么要对它运行stringify?如果您只是这样发送:
$.post("test.php", data, function(data) {
您应该能够像这样检索它:
$data = $_POST['testA'];