0

POSTパラメーターの代わりに生のjsonをphpに送信する方法はありますか?可能であれば、どの方法が最善かというと、リクエストボディまたは POST パラメータのいずれかを意味します。

4

1 に答える 1

4

JSON 文字列をリクエスト本文として含む HTTP リクエストを送信します (ここcurlでは、コマンド ラインで使用します)。

$ curl -d '{"foo":"bar"}' example.com/test.php

PHP で次のリクエスト本文を読み取ります。

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

それをデコードします:

$data = json_decode($json, true);

POST 要求の要求本文に URL エンコードされたキーと値のペア(例: ) が含まれている場合、 PHP の$_POSTスーパーグローバルは配列として自動的に設定されます。上記の例では、まだ「POST データ」を含む HTTP POST リクエストを使用しています。PHPはJSONを自動的にデコードする方法を知らないため、自動的に終了するわけではありません。foo=bar&baz=42$_POST

于 2013-05-15T11:19:14.937 に答える