ホームページ > バックエンド開発 > PHPチュートリアル > jQuery を使用して FormData でのファイル アップロードを処理するにはどうすればよいですか?

jQuery を使用して FormData でのファイル アップロードを処理するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-12 11:18:11
オリジナル
811 人が閲覧しました

How Can I Use jQuery to Handle File Uploads with FormData?

jQuery シリアル化を使用したファイルのアップロード

jQuery の Serialize() 関数を使用してファイル アップロード フィールドを含むフォームを送信する場合、ファイル データを取得できます。挑戦的。他のフォーム要素とは異なり、ファイル入力を文字列にシリアル化することはできません。

この制限を回避するには、FormData オブジェクトを利用できます。 FormData は、ファイルを含むフォーム データを送信に適した形式にエンコードする方法を提供します。

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) {

        }
    });        

});
ログイン後にコピー

Withこのアプローチでは、FormData コンストラクターはファイル入力を含むすべてのフォーム要素をキャプチャします。 processData を false に設定し、contentType を false に設定すると、jQuery はデータのシリアル化を試みなくなり、ブラウザーがファイルのアップロードを正しく処理できるようになります。

サーバー側では、ファイル データは$_FILES スーパーグローバル配列。従来のファイル アップロード シナリオと同様です。

以上がjQuery を使用して FormData でのファイル アップロードを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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