FormData

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

备注: 此特性在 Web Worker 中可用。

FormData 接口提供了一种表示表单数据的键值对 key/value 的构造方式,并且可以轻松的将数据通过XMLHttpRequest.send() 方法发送出去,本接口和此方法都相当简单直接。如果送出时的编码类型被设为 "multipart/form-data",它会使用和表单一样的格式。

如果你想构建一个简单的GET请求,并且通过<form>的形式带有查询参数,可以将它直接传递给URLSearchParams

实现了 FormData 接口的对象可以直接在for...of结构中使用,而不需要调用entries() : for (var p of myFormData) 的作用和 for (var p of myFormData.entries()) 是相同的。

构造函数

FormData()

创建一个新的 FormData 对象。

方法

FormData.append()

FormData 中添加新的属性值,FormData 对应的属性值存在也不会覆盖原值,而是新增一个值,如果属性不存在则新增一项属性值。

FormData.delete()

从 FormData 对象里面删除一个键值对。

FormData.entries()

返回一个包含所有键值对的iterator对象。

FormData.get()

返回在 FormData 对象中与给定键关联的第一个值。

FormData.getAll()

返回一个包含 FormData 对象中与给定键关联的所有值的数组。

FormData.has()

返回一个布尔值表明 FormData 对象是否包含某些键。

FormData.keys()

返回一个包含所有键的iterator对象。

FormData.set()

FormData 设置属性值,如果FormData 对应的属性值存在则覆盖原值,否则新增一项属性值。

FormData.values()

返回一个包含所有值的iterator对象。

规范

Specification
XMLHttpRequest
# interface-formdata

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
FormData
[Symbol.iterator]
FormData() constructor
submitter parameter
append
filename parameter
delete
entries
forEach
get
getAll
has
keys
set
values
Available in workers

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

参见