PHP での JSON リクエストの処理
AJAX 呼び出しでデータを送信する場合、contentType をデフォルトの x- ではなく application/json に設定します。 www-form-urlencoded では、PHP サーバー側で空の $_POST 配列が作成される場合があります。これは、x-www-form-urlencoded データは $_POST に自動的に解析されますが、JSON データは解析されないために発生します。
PHP でアプリケーション/json リクエストを処理するには、生の JSON 入力を直接読み取る必要があります。 file_get_contents('php://input') を使用したリクエスト本文。その方法は次のとおりです。
<code class="php"><?php var_dump(json_decode(file_get_contents('php://input'))); ?></code>
この例では、file_get_contents('php://input') 関数がリクエスト本文から生の JSON 入力を読み取ります。次に、json_decode 関数は JSON 文字列を PHP 変数にデコードし、必要に応じてアクセスして処理できます。
このアプローチを使用すると、x-www-form-urlencoded リクエストと application/json リクエストの両方を処理できます。 PHP では、サーバー側のコードがデータを正しく受信して処理していることを確認します。
以上が空の $_POST 配列を避けるために PHP で JSON リクエストを処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。