ホームページ >バックエンド開発 >PHPチュートリアル >jQuery AJAX を使用してマルチパート/フォームデータ フォームを送信すると、PHP で「contentType:False」により「未定義のインデックス」エラーが発生するのはなぜですか?
Jquery/Ajax フォーム送信 (enctype="multipart/form-data"): PHP で「contentType:False」によりインデックスが未定義になる理由
問題:
Jquery/ajax を使用して「enctype='multipart/form-data'」(ファイルのアップロード用) を指定してフォームを送信する場合、「contentType:False」を設定すると問題が発生します。 PHP の「未定義のインデックス」エラー。
回答:
「multipart/form-data」送信に「contentType:False」が必要な理由
「contentType:False」により、jQuery がリクエストに「Content-Type」ヘッダーを追加できなくなります。 「multipart/form-data」送信では、「Content-Type」ヘッダーに境界文字列が含まれます。これはマルチパート エンコードに不可欠です。
さらに、これを防ぐには、「processData:False」も false に設定する必要があります。 jQuery が「FormData」オブジェクトを文字列に変換すると、マルチパート エンコーディングが中断されます。
トラブルシューティング:
この問題を解決するには、次の手順を検討してください。
<code class="javascript">var formData = new FormData($(this)[0]);</code>
追加メモ:
以上がjQuery AJAX を使用してマルチパート/フォームデータ フォームを送信すると、PHP で「contentType:False」により「未定義のインデックス」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。