ホームページ > バックエンド開発 > PHPチュートリアル > JSON フォームを送信すると、PHP $_POST 配列が空になるのはなぜですか?

JSON フォームを送信すると、PHP $_POST 配列が空になるのはなぜですか?

Barbara Streisand
リリース: 2024-12-25 18:32:10
オリジナル
968 人が閲覧しました

Why is my PHP $_POST array empty when submitting a JSON form?

フォームの送信にもかかわらず PHP の $_POST 配列が空になる

開発者は、フォーム送信後、データ転送が成功したにもかかわらず、$_POST 配列が空のままになる問題に遭遇しました。 file_get_contents('php://input').

分析

コンテンツ タイプ ヘッダーを調査したところ、問題はコンテンツとして JSON を使用することに関連していることが特定されました。タイプ。マルチパート フォームとは対照的に、JSON コンテンツ タイプを利用すると、$_POST 配列にデータを取り込むことができなくなります。

解決策

この問題を解決するために、開発者は以下を提供しました。コード スニペット:

$_POST = json_decode(file_get_contents("php://input"), true);
ログイン後にコピー

このコード スニペットは JSON ペイロードを解析し、連想ペイロードに変換します。配列が $_POST 変数に割り当てられます。これにより、JSON ペイロードのデータに、予想どおり $_POST 配列を通じてアクセスできるようになります。

以上がJSON フォームを送信すると、PHP $_POST 配列が空になるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート