1

次のようなオブジェクトの 2 次元配列があります。

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

Why would you run stringify on it? If you just send it like this:

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

You should be able to retrieve it like this:

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