首页 >后端开发 >php教程 >如何在 PHP 中解码来自 Ajax 的 JSON 数据?

如何在 PHP 中解码来自 Ajax 的 JSON 数据?

DDD
DDD原创
2024-10-31 05:03:30564浏览

How to Decode JSON Data from Ajax in PHP?

在 PHP 中从 Ajax 解码 JSON 数据

尝试将 Ajax 请求中的 JSON 数据发送到 PHP 脚本时,您可能会遇到无法正确接收或解析数据的问题。为了解决这个问题,一个常见的问题是如何有效地从 Ajax 发送 JSON 数据并在 PHP 中对其进行解码。

解决方案

1.删除 Content-Type 标头

在 Ajax 请求中,删除 contentType 标头:

$.ajax({
    type: "POST",
    dataType: "json",
    url: "add_cart.php",
    data: {myData:dataString}
});

2.使用直接变量赋值

在 PHP 中,直接从 $_POST 访问 JSON 数据,而不使用 json_decode:

if(isset($_POST['myData'])){
    $obj = $_POST['myData'];
    //some php operation
}

原因

原始代码不起作用的原因是 contentType 标头设置为 application/json。这向 PHP 表明发送的数据是 JSON 格式,但事实并非如此。数据实际上是包含 JSON 字符串的普通 POST 查询。

通过删除 contentType 标头,您可以将数据作为常规 POST 查询发送,并允许 PHP 自动处理字符串转换。

以上是如何在 PHP 中解码来自 Ajax 的 JSON 数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn