jQuery HTML5とFormDataを使用してファイルをアップロードする方法の例

不言
リリース: 2018-11-06 14:23:49
オリジナル
2746 人が閲覧しました

HTML5 が登場する前には、AJAX ファイルのアップロードを実装するための一連の jQuery テクノロジとプラグインがありました。 HTML5 では、ファイルのアップロードを簡素化する FormData クラスが導入されています。この記事では、jQuery HTML5とFormDataを使ってファイルをアップロードする例を紹介します。

$('#myform').on('sumbit', function(){
    var form = $(this);
    var formdata = false;
    if (window.FormData)
    {
        formdata = new FormData(form[0]);
    }
    var formAction = form.attr('action');
    $.ajax({
        url         : '/upload',
        data        : formdata ? formdata : form.serialize(),
        cache       : false,
        contentType : false,
        processData : false,
        type        : 'POST',
        success     : function(data, textStatus, jqXHR){
            // Callback code
        }
    });
    });
ログイン後にコピー

これを効果的に実現するために、プラグイン、フラッシュ、または iframe のスキルは必要ありません。このコードを期待どおりに動作させるためのいくつかのトリックを次に示します。

FormData のインスタンスを作成するとき、form の代わりに form[0] を渡します。これは実際のフォーム要素を意味しますが、jQuery セレクターを意味しません。

contentType を定義する代わりに false を渡すだけです。これは、jQuery が Content-Type ヘッダーをリクエストに追加しないことを意味します。

processData を false に設定したため、jQuery はデータ値 (FormData に基づく) を文字列に変換しません。

以上がjQuery HTML5とFormDataを使用してファイルをアップロードする方法の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!