1

我有一个二维对象数组,如下所示:

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 发布,如下所示:

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 端做什么才能访问数据?

4

1 回答 1

2

你为什么要在上面运行 stringify ?如果你只是这样发送:

$.post("test.php", data, function(data) {

您应该能够像这样检索它:

$data = $_POST['testA'];
于 2012-06-03T10:59:14.263 回答