Javascript 如何在PHP中解析通过AJAX发送的嵌套JSON
假设我通过jQuery将此AJAX发送到PHP服务器Javascript 如何在PHP中解析通过AJAX发送的嵌套JSON,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,假设我通过jQuery将此AJAX发送到PHP服务器 $.ajax({ url: woocommerce_admin_meta_boxes.ajax_url, data: data, type: 'POST', success: function (res) { if (res.success) { location.reload(); } } }); 而数据看起来是这样的 data = {
$.ajax({
url: woocommerce_admin_meta_boxes.ajax_url,
data: data,
type: 'POST',
success: function (res) {
if (res.success) {
location.reload();
}
}
});
而数据
看起来是这样的
data = {
order_id: woocommerce_admin_meta_boxes.post_id,
order_items : [
{
order_item_id: 69420,
amount: 420
},
{
order_item_id: 42069,
amount: 69
}
]
};
$order_id = $_POST['order_id'];
我发现,通过使用PHP的$\u POST
,我可以像这样访问订单id
data = {
order_id: woocommerce_admin_meta_boxes.post_id,
order_items : [
{
order_item_id: 69420,
amount: 420
},
{
order_item_id: 42069,
amount: 69
}
]
};
$order_id = $_POST['order_id'];
但是,我不确定如何从数据
访问订单项目
中的内容。根据我在中看到的,有一个PHP函数名为json\u decode()
,但我不太确定如何将其与AJAX或$\u POST$。AJAX()
不使用json编码,它发送URL编码格式,因此不需要使用json\u decode()
要访问嵌套数据,只需在$\u POST
变量中使用普通数组访问即可
foreach ($_POST['order_items'] as $item) {
echo "Item ID: " . $item['order_item_id'] . "<br>";
echo "Amount: " . $item['amount'] . "<br>";
}
foreach($\u POST['order\u items']作为$item){
回显“项目ID:.$Item['order\u Item\u ID']。”
;
回显“金额:”.$item['Amount']。“
”;
}
在ajax中发送类似JSON.stringify(数据)的数据,并使用JSON_decode()在php中对其进行解码参见本文