我想通过 Ajax 将 Javascript 数组对象发布到 PHP。然后在 PHP 结束时,我仍然想将该对象用作真正的数组。以下是我迄今为止在使用传入对象作为Array
PHP 端的方法方面仍然没有成功。我可以将其解析为string
.
Javascript:
var myObj = {
fred: { apples: 2, oranges: 4, bananas: 7, melons: 0 },
mary: { apples: 0, oranges: 10, bananas: 0, melons: 0 },
sarah: { apples: 0, oranges: 0, bananas: 0, melons: 5 }
}
然后,通过 AJAX 发送 Javascript/JQuery:
$.ajax({
type: "POST",
url: "ajax.php",
dataType: "JSON",
data: { "data" : JSON.stringify(myObj) }
}).success(function( response ) {
alert(response);
});
然后在 PHP 处解析:
$data = json_decode( $_POST["data"] );
echo json_encode( $data["fred"] );
echo json_encode( $data["fred"]["apples"] );
echo json_encode( $data["fred"]->apples );
echo json_encode( $data[1] );
- 以上任何一个都
echo
返回空白,返回浏览器。
但是当我:
$data = json_decode( $_POST["data"] );
$to_string = print_r( $data, true ); //<-- Used these instead
echo json_encode( $to_string ); //<-- Used these instead
..它将以下大字符串返回给浏览器:
stdClass Object
(
[fred] => stdClass Object
(
[apples] => 2
[oranges] => 4
[bananas] => 7
[melons] => 0
)
[mary] => stdClass Object
(
[apples] => 0
[oranges] => 10
[bananas] => 0
[melons] => 0
)
[sarah] => stdClass Object
(
[apples] => 0
[oranges] => 0
[bananas] => 0
[melons] => 5
)
)
- 所以似乎数据在那里,但是我怎样才能以正确的
ARRAY
方式解析这些数据PHP
呢?