【问题标题】:How to parse nested JSON sent via AJAX in PHP如何在 PHP 中解析通过 AJAX 发送的嵌套 JSON
【发布时间】:2020-10-06 05:17:29
【问题描述】:

假设我有这个 AJAX 通过 jQuery 发送到 PHP 服务器

$.ajax({
    url: woocommerce_admin_meta_boxes.ajax_url,
    data: data,
    type: 'POST',
    success: function (res) {
        if (res.success) {
            location.reload();
        }
    }
});

data 看起来像这样

data = {
    order_id: woocommerce_admin_meta_boxes.post_id,
    order_items : [
        {
            order_item_id: 69420,
            amount: 420
        },
        {
            order_item_id: 42069,
            amount: 69
        }
    ]
};

我发现通过使用PHP的$_POST,我可以像这样访问订单ID

$order_id = $_POST['order_id'];

但是,我不确定如何从data 访问order_items 中的内容。从我在this stackoverflow post 中看到的内容来看,有一个名为json_decode() 的PHP 函数,但我不太确定如何将它与AJAX 或$_POST 一起使用。

【问题讨论】:

标签: javascript php jquery json ajax


【解决方案1】:

$.ajax() 不使用 JSON 编码,它发送 URL 编码格式,因此无需使用 json_decode()

要访问嵌套数据,只需在$_POST变量中使用普通数组访问即可。

foreach ($_POST['order_items'] as $item) {
    echo "Item ID: " . $item['order_item_id'] . "<br>";
    echo "Amount: " . $item['amount'] . "<br>";
}

【讨论】:

    猜你喜欢
    • 2021-05-15
    • 1970-01-01
    • 2021-07-25
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多