ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript が Ajax を使用してファイルをアップロードする方法の概要

JavaScript が Ajax を使用してファイルをアップロードする方法の概要

黄舟
リリース: 2017-08-10 13:50:07
オリジナル
1367 人が閲覧しました

この記事では、Ajax を使用してファイルをアップロードするための JavaScript のサンプル コードを主に紹介し、2 つのアップロード方法について詳しく紹介します。詳細は次のとおりです:


ファイルをアップロードするには主に 2 つの方法があります:

アップロードを送信するにはフォームを使用します

HTML コードは次のとおりです:

<form id="uploadForm" enctype="multipart/form-data">
  <input id="file" type="file" name="file"/>
  <button id="upload" type="button">上传</button>
</form>
ログイン後にコピー

この時点の JavaScript コードは次のとおりです:

 var formData = new FormDate($(&#39;#uploadForm&#39;)[0]);

 $.ajax({
        url: &#39;http://10.10.2.254:8080/file/associateupload&#39;,
        type: &#39;POST&#39;,
        cache: false,
        data: formData,
        processData: false,
        contentType: false,
        success:function(res){
            console.log(res);
        }
    });
ログイン後にコピー

注:

    processData は false に設定されます。データ値は FormData オブジェクトであるため、データを処理する必要はありません。
  1. タグは enctype="multipart/form-data" 属性を追加します。
  2. cache は false に設定されており、ファイルのアップロードにはキャッシュは必要ありません。
  3. contentType は false に設定されます。これは フォームから構築された FormData オブジェクトであり、属性 enctype="multipart/form-data" が宣言されているため、ここでは false に設定されます。
FormData オブジェクトを使用して、ファイルをアップロードするためのフィールドを追加します

html コードは次のとおりです:

<p id="uploadp">
  <input id="file" type="file"/>
  <button id="upload" type="button">上传</button>
</p>
ログイン後にコピー

JavaScript の実装は次のとおりです:

var formData = new FormData();
formData.append(&#39;file&#39;, $(&#39;#file&#39;)[0].files[0]);
$.ajax({
  url: &#39;/upload&#39;,
  type: &#39;POST&#39;,
  cache: false,
  data: formData,
  processData: false,
  contentType: false,
  success:function(res){
     console.log(res);
  }
ログイン後にコピー

ここにはいくつかの違いがあります:

    append() 2 番目のパラメータはファイル オブジェクト、つまり $('#file')[0].files[0] である必要があります。 contentType も false に設定する必要があります。
  • コード $('#file')[0].files[0] から、 タグで複数のファイルをアップロードできることがわかります。 に追加します。

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

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