Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在PHP中解析通过AJAX发送的嵌套JSON_Javascript_Php_Jquery_Json_Ajax - Fatal编程技术网

Javascript 如何在PHP中解析通过AJAX发送的嵌套JSON

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 = {

假设我通过jQuery将此AJAX发送到PHP服务器

$.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中对其进行解码参见本文