Rumah hujung hadapan web tutorial js JavaScript如何利用Ajax上传文件的方法介绍

JavaScript如何利用Ajax上传文件的方法介绍

Aug 10, 2017 pm 01:50 PM
ajax javascript js

本篇文章主要介绍了JavaScript使用Ajax上传文件的示例代码,详细的介绍了两种上传方式,感兴趣的小伙伴可以了解一下

本文介绍了JavaScript使用Ajax上传文件的示例代码,分享给大家,具体如下:

实现文件的上传主要有两种方式:

使用form表单提交上传

html代码如下:


1

2

3

4

<form id="uploadForm" enctype="multipart/form-data">

  <input id="file" type="file" name="file"/>

  <button id="upload" type="button">上传</button>

</form>

Salin selepas log masuk

此时的JavaScript代码如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

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

 

$.ajax({

       url: 'http://10.10.2.254:8080/file/associateupload',

       type: 'POST',

       cache: false,

       data: formData,

       processData: false,

       contentType: false,

       success:function(res){

           console.log(res);

       }

   });

Salin selepas log masuk

需要注意:

  1. processData设置为false。因为data值是FormData对象,不需要对数据做处理。

  2. <form>标签添加enctype="multipart/form-data"属性。

  3. cache设置为false,上传文件不需要缓存。

  4. contentType设置为false。因为是由<form>表单构造的FormData对象,且已经声明了属性enctype="multipart/form-data",所以这里设置为false。

使用FormData对象添加字段方式上传文件

html代码如下:


1

2

3

4

&lt;p id=&quot;uploadp&quot;&gt;

  &lt;input id=&quot;file&quot; type=&quot;file&quot;/&gt;

  &lt;button id=&quot;upload&quot; type=&quot;button&quot;&gt;上传&lt;/button&gt;

&lt;/p&gt;

Salin selepas log masuk

JavaScript实现如下:


1

2

3

4

5

6

7

8

9

10

11

12

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

  }

Salin selepas log masuk

这里有几处不一样:

  • append()的第二个参数应是文件对象,即$('#file')[0].files[0]。contentType也要设置为false。

  • 从代码$('#file')[0].files[0]中可以看到一个<input type="file">标签能够上传多个文件,只需要在<input type="file">里添加multiple或multiple="multiple"属性。

Atas ialah kandungan terperinci JavaScript如何利用Ajax上传文件的方法介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Disyorkan: Projek pengesanan dan pengecaman muka sumber terbuka JS yang sangat baik Disyorkan: Projek pengesanan dan pengecaman muka sumber terbuka JS yang sangat baik Apr 03, 2024 am 11:55 AM

Disyorkan: Projek pengesanan dan pengecaman muka sumber terbuka JS yang sangat baik

Bagaimana untuk menyelesaikan ralat 403 yang dihadapi oleh permintaan jQuery AJAX Bagaimana untuk menyelesaikan ralat 403 yang dihadapi oleh permintaan jQuery AJAX Feb 20, 2024 am 10:07 AM

Bagaimana untuk menyelesaikan ralat 403 yang dihadapi oleh permintaan jQuery AJAX

Bagaimana untuk menyelesaikan ralat permintaan jQuery AJAX 403 Bagaimana untuk menyelesaikan ralat permintaan jQuery AJAX 403 Feb 19, 2024 pm 05:55 PM

Bagaimana untuk menyelesaikan ralat permintaan jQuery AJAX 403

Bagaimana untuk mendapatkan pembolehubah daripada kaedah PHP menggunakan Ajax? Bagaimana untuk mendapatkan pembolehubah daripada kaedah PHP menggunakan Ajax? Mar 09, 2024 pm 05:36 PM

Bagaimana untuk mendapatkan pembolehubah daripada kaedah PHP menggunakan Ajax?

Bagaimana untuk menyelesaikan masalah jQuery AJAX ralat 403? Bagaimana untuk menyelesaikan masalah jQuery AJAX ralat 403? Feb 23, 2024 pm 04:27 PM

Bagaimana untuk menyelesaikan masalah jQuery AJAX ralat 403?

PHP lwn. Ajax: Penyelesaian untuk mencipta kandungan yang dimuatkan secara dinamik PHP lwn. Ajax: Penyelesaian untuk mencipta kandungan yang dimuatkan secara dinamik Jun 06, 2024 pm 01:12 PM

PHP lwn. Ajax: Penyelesaian untuk mencipta kandungan yang dimuatkan secara dinamik

Hubungan antara js dan vue Hubungan antara js dan vue Mar 11, 2024 pm 05:21 PM

Hubungan antara js dan vue

Era AI JS sudah tiba! Era AI JS sudah tiba! Apr 08, 2024 am 09:10 AM

Era AI JS sudah tiba!

See all articles