formdata参数
时间: 2023-08-04 19:08:16 浏览: 104
FormData 是一个 JavaScript 对象,用于创建表单数据。它通过 XMLHttpRequest 发送到服务器。FormData 对象可以包含键值对,每个键值对对应一个表单控件,如 input 或 textarea 等。使用 FormData 对象可以轻松地发送包含文件上传的表单数据。
在使用 FormData 对象时,需要通过 append() 方法来添加表单控件的键值对。例如:
```javascript
var formData = new FormData();
formData.append("username", "John");
formData.append("password", "Doe");
```
其中,"username" 和 "password" 分别是表单控件的 name 属性值,"John" 和 "Doe" 分别是对应的值。如果要发送文件,可以使用 append() 方法的第二个参数,它可以是一个 File 对象或 Blob 对象。例如:
```javascript
var formData = new FormData();
formData.append("avatar", fileInput.files[0]);
```
其中,"avatar" 是文件上传控件的 name 属性值,fileInput 是一个 input[type="file"] 元素。注意,如果要发送多个文件,可以使用 append() 方法多次添加相同的键名,或者使用 append() 方法的第一个参数传递数组。例如:
```javascript
var formData = new FormData();
formData.append("file", fileInput1.files[0]);
formData.append("file", fileInput2.files[0]);
// 或者
formData.append("file", [fileInput1.files[0], fileInput2.files[0]]);
```
FormData 对象还可以使用 set() 方法来设置键值对,使用 delete() 方法来删除键值对,使用 getAll() 方法来获取指定键的所有值,使用 has() 方法来检查指定键是否存在。例如:
```javascript
formData.set("username", "Jane");
formData.delete("password");
var values = formData.getAll("file");
var hasUsername = formData.has("username");
```
阅读全文