「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > $_POST で Axios POST データにアクセスできないのはなぜですか?

$_POST で Axios POST データにアクセスできないのはなぜですか?

2024 年 11 月 8 日に公開
ブラウズ:822

Why is Axios POST Data not Accessible in $_POST?

Axios Post パラメータが $_POST によって読み取られません

Axios を使用して PHP エンドポイントにデータを投稿しており、$ でアクセスすることを想定しています_POST または $_REQUEST。ただし、現在はそれを検出できません。

元々はデフォルトの axios.post メソッドを使用していましたが、ヘッダーの問題の疑いがあるため、提供されたコード スニペットに切り替えました。この変更にもかかわらず、データは検出できないままです。

さらに調査すると、Axios がデータを JSON オブジェクトとしてポストしていることがわかりました。このオブジェクトには、file_get_contents("php://input") を通じてアクセスできます。あなたの目標は、代わりに通常の文字列としてデータを送信することです。

解決策:

Axios のドキュメントによると、デフォルトの動作は、投稿のために JavaScript オブジェクトを JSON にシリアル化することです。 。ただし、PHP は、$_POST を設定するためのデータ形式として JSON をサポートしていません。 HTML フォームでネイティブにサポートされている形式のみをサポートします:

  • application/x-www-form-urlencoded
  • multipart/form-data

To希望の形式でデータを送信するには、いくつかのオプションがあります:

  • URLSearchParams API を使用する (ブラウザ)
  • qs ライブラリを使用してデータをエンコードする

別の関連質問で提案されているように、JSON データを処理するように PHP 構成をカスタマイズすることもできます。

リリースステートメント この記事は次の場所に転載されています: 1729607537 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3