ホームページ >バックエンド開発 >PHPチュートリアル >Axios POST パラメータが $_POST にないのはなぜですか: 隠されたコンテンツ タイプの問題?
Axios POST パラメータが $_POST に表示されません?隠れたコンテンツ タイプの問題
Axios を使用してデータを投稿する場合、コンテンツ タイプの影響を理解することが不可欠です。デフォルトでは、Axios は JavaScript オブジェクトを JSON としてシリアル化します。これは、サーバー側の $_POST 配列と互換性がない可能性があります。
$_POST でパラメーターにアクセスできるようにするには、適切なコンテンツ タイプを指定する必要があります。あなたのリクエスト。 PHP ドキュメントによると、サポートされているコンテンツ タイプは「application/x-www-form-urlencoded」と「multipart/form-data」の 2 つだけです。
解決策: コンテンツ タイプの指定
この問題を解決するには、「Content-Type」ヘッダーを明示的に「application/x-www-form-urlencoded」に設定します。これは、$_POST と互換性のある形式でデータをエンコードするように Axios に指示します。
<code class="javascript">axios({ method: 'post', url, headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, data: { json, type, } }) </code>
追加の代替手段
コンテンツ タイプを変更したくない場合は、 、JSON 入力を処理するように PHP コードを変更できます。ガイダンスについては、次の Stack Overflow の回答を参照してください: [https://stackoverflow.com/questions/6787388/receiving-json-objects-as-post-parameters-in-php](https://stackoverflow.com/questions/) 6787388/receiving-json-objects-as-post-parameters-in-php)
以上がAxios POST パラメータが $_POST にないのはなぜですか: 隠されたコンテンツ タイプの問題?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。