4

重複の可能性:
PHP で POST の本文を取得する方法は?

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);

正直なところ、パラメーター セットがないため、このデータを取得する方法がわかりません。

何か案は?

4

2 に答える 2

18

以下のように PHP で試してください (リクエストがアプリケーション/json の場合、$_POST にデータを取得しません)

var_dump(json_decode(file_get_contents("php://input")));
于 2012-10-24T13:58:02.923 に答える
5

試す

$request_body = file_get_contents('php://input');
$json = json_decode($request_body);

受信スクリプトで。

参照: http://docs.php.net/wrappers.php.php

于 2012-10-24T13:58:09.937 に答える