回答:
私が状況を正しく理解していれば、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"では使用できません。
また、extJ writer
をで設定すると、データが定期的に送信されます(したがって、およびを介してデータを取得できます )。encode
: true
$_POST
$_GET
...値は、生のポストではなくリクエストパラメータの一部として送信されます(Ext.data.writer.Jsonのエンコード構成のドキュメントを介して)
更新
また、ドキュメントはそれを言う:
エンコードオプションは、ルートが定義されている場合にのみtrueに設定する必要があります
したがって、おそらく、writer
のroot
設定が必要です。
writer
のルート構成を設定しましたか?必要になる場合があります。encode
私はのために仕事をしてimageshack.us/f/32/20120308153201.png