ホームページ >バックエンド開発 >PHPチュートリアル >jQuery Ajax を使用してファイル アップロード フォームを送信するにはどうすればよいですか?
jQuery シリアル化関数を使用して Ajax 経由で送信するフォームがあります。ただし、フォームに が含まれていると問題が発生します。分野。シリアル化されたフォーム データにはファイルが含まれていないため、$_FILES を印刷すると空の結果が得られます。
この問題を解決するには、FormData オブジェクトを利用できます。ファイル入力を含むあらゆるフォーム タイプと互換性があります。実装方法は次のとおりです。
$(document).on("submit", "form", function(event) { event.preventDefault(); $.ajax({ url: $(this).attr("action"), type: $(this).attr("method"), dataType: "JSON", data: new FormData(this), processData: false, contentType: false, success: function (data, status) { }, error: function (xhr, desc, err) { } }); });
FormData オブジェクトを使用すると、Ajax リクエストで他のフォーム データとともにファイルを渡すことができます。 processData オプションと contentType オプションは false に設定され、jQuery がデータとコンテンツ タイプを処理できないようにし、ブラウザーがフォーム送信を正しく処理できるようにします。
以上がjQuery Ajax を使用してファイル アップロード フォームを送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。