blob: 04968e5f52f05fb9c2b5d5f25f98585582c83131 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
---
title: FormData
slug: Web/API/FormData
tags:
- FormData
- XMLHttpRequest
translation_of: Web/API/FormData
---
<p>{{APIRef("XMLHttpRequest")}}</p>
<p><strong><code>FormData</code></strong> 接口提供了一种表示表单数据的键值对 <code>key/value</code> 的构造方式,并且可以轻松的将数据通过{{domxref("XMLHttpRequest.send()")}} 方法发送出去,本接口和此方法都相当简单直接。如果送出时的编码类型被设为 <code>"multipart/form-data"</code>,它会使用和表单一样的格式。</p>
<p>如果你想构建一个简单的<code>GET</code>请求,并且通过{{HTMLElement("form")}}的形式带有查询参数,可以将它直接传递给{{domxref("URLSearchParams")}}。</p>
<p>实现了 <code>FormData</code> 接口的对象可以直接在{{jsxref("Statements/for...of", "for...of")}}结构中使用,而不需要调用{{domxref('FormData.entries()', 'entries()')}} : <code>for (var p of myFormData)</code> 的作用和 <code>for (var p of myFormData.entries())</code> 是相同的。</p>
<div class="note">
<p><strong>注意</strong>:此特性可用于 <a href="/zh-CN/docs/Web/API/Web_Workers_API">Web Workers</a>。</p>
</div>
<h2 id="构造函数">构造函数</h2>
<dl>
<dt>{{domxref("FormData.FormData","FormData()")}}</dt>
<dd>创建一个新的 <code>FormData</code> 对象。</dd>
</dl>
<h2 id="方法">方法</h2>
<dl>
<dt>{{domxref("FormData.append()")}}</dt>
<dd>向 <code>FormData</code> 中添加新的属性值,<code>FormData</code> 对应的属性值存在也不会覆盖原值,而是新增一个值,如果属性不存在则新增一项属性值。</dd>
<dt>{{domxref("FormData.delete()")}}</dt>
<dd>从 FormData 对象里面删除一个键值对。</dd>
<dt>{{domxref("FormData.entries()")}}</dt>
<dd>返回一个包含所有键值对的{{jsxref("Iteration_protocols","iterator")}}对象。</dd>
<dt>{{domxref("FormData.get()")}}</dt>
<dd><code><font face="Arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;">返回在 </span></font>FormData</code> 对象中与给定键关联的第一个值。</dd>
<dt>{{domxref("FormData.getAll()")}}</dt>
<dd>返回一个包含 <code>FormData</code> 对象中与给定键关联的所有值的数组。</dd>
<dt>{{domxref("FormData.has()")}}</dt>
<dd><code><font face="Arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;">返回一个布尔值表明 </span></font>FormData</code> 对象是否包含某些键。</dd>
<dt>{{domxref("FormData.keys()")}}</dt>
<dd>返回一个包含所有键的{{jsxref("Iteration_protocols","iterator")}}对象。</dd>
<dt>{{domxref("FormData.set()")}}</dt>
<dd>给 <code>FormData</code> 设置属性值,如果<code>FormData</code> 对应的属性值存在则覆盖原值,否则新增一项属性值。</dd>
<dt>{{domxref("FormData.values()")}}</dt>
<dd>返回一个包含所有值的{{jsxref("Iteration_protocols","iterator")}}对象。</dd>
</dl>
<h2 id="规范">规范</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">规范</th>
<th scope="col">状态</th>
<th scope="col">备注</th>
</tr>
<tr>
<td>{{SpecName('XMLHttpRequest','#interface-formdata','FormData')}}</td>
<td>{{Spec2('XMLHttpRequest')}}</td>
<td>FormData defined in XHR spec</td>
</tr>
</tbody>
</table>
<h2 id="浏览器兼容性">浏览器兼容性</h2>
<p>{{Compat("api.FormData")}}</p>
<h2 id="参见">参见</h2>
<ul>
<li>{{domxref("XMLHTTPRequest")}}</li>
<li><a href="/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest">Using XMLHttpRequest</a></li>
<li><a href="/en-US/docs/Web/API/FormData/Using_FormData_Objects">Using FormData objects</a></li>
<li>{{HTMLElement("Form")}}</li>
</ul>
|