php - 接收 JSON POST

标签 php json post curl

<分区>

Possible Duplicate:
How to get body of a POST in php?

我收到一个包含 JSON 的 POST,问题是当我收到 $_POST 为空时。为了测试我何时收到 POST,我创建了一个包含 $_POST、$_GET 和 $_REQUEST 的文件,它们都是空的。

发送请求的客户端正在做这样的事情:

$itemJson = '{
      "id": 00,
      "value": "ok"
    }';

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: '. strlen($itemJson))
    );
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $itemJson);
    curl_close($ch);

老实说,我不明白我是如何获得这些数据的,因为没有参数集。

有什么想法吗?

最佳答案

在 PHP 中尝试如下(当请求是一个 application/json 时,您将不会将数据放入 $_POST)

var_dump(json_decode(file_get_contents("php://input")));

关于php - 接收 JSON POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13050716/

相关文章:

php - 如何使 PHP/Apache 使用相对于链接而不是目标的符号链接(symbolic link)

javascript - Ajax 成功响应不起作用。无法在 IE11 上传递数据

java - 在 Java Restful API JSON 结果字符串上获取意外的额外转义字符

php - 删除无效/不完整的多字节字符

php - 根据值比较并删除行 [MYSQLi]

php - 从php中的另一个页面获取变量

json - 将 JSON 从数据框上传到 firebase

ruby - 需要帮助使用 Ruby net/http 将 xml 属性列表作为 HTTP 正文发送

php - html 标签之外的自动链接 url

json - 在ListView中显示嵌套的json数组