リクエストペイロードを取得する方法 質問する

リクエストペイロードを取得する方法 質問する

PHP、ExtJS、Ajax ストアを使用しています。

POST または GET ではなく、データ (作成、更新、破棄) を送信します。Chrome コンソールでは、送信パラメータがフィールドに JSON として表示されます"Request Payload"。空$_POSTです$_GET

PHP で取得するにはどうすればいいですか?

ベストアンサー1

状況を正しく理解していれば、application/x-www-form-urlencodedデータではなく、JSON データを http 本文経由で渡しているだけです。

このデータは、次のスニペットで取得できます。

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

json を渡す場合は、次のようにします。

$data = json_decode($request_body);

$data次に、JSON データが PHP 配列に含まれます。

php://inputいわゆるラッパー

php://input は読み取り専用ストリームで、リクエスト本体から生データを読み取ることができます。POST リクエストの場合、特別な php.ini ディレクティブに依存しないため、$HTTP_RAW_POST_DATA ではなく php://input を使用することをお勧めします。さらに、$HTTP_RAW_POST_DATA がデフォルトで設定されていない場合は、always_populate_raw_post_data を有効にするよりもメモリをあまり消費しない可能性があります。php://input は enctype="multipart/form-data" では使用できません。

おすすめ記事