使用 Fetch API 中的 FormData 接口发布表单数据时,了解其默认行为非常重要。默认情况下,它使用“multipart/form-data”格式发送数据,该格式与“application/x-www-form-urlencoded”格式不兼容。
如果您想将表单数据发布为"application/x-www-form-urlencoded" 使用 Fetch API,可以按照以下步骤操作:
将 FormData 转换为 URLSearchParams: 使用循环迭代FormData 对象并将每个键值对附加到 URLSearchParams 对象。
<code class="javascript">const data = new URLSearchParams(); for (const pair of new FormData(formElement)) { data.append(pair[0], pair[1]); }</code>
或,使用实验方法:
<code class="javascript">const data = new URLSearchParams(new FormData(formElement));</code>
注意:确保您的使用前浏览器支持后一种方法。
使用 Fetch API 发送数据: 发出 POST 请求,并将正文设置为 URLSearchParams 对象。不要指定 Content-Type 标头,因为默认值为“application/x-www-form-urlencoded”。
<code class="javascript">fetch(url, { method: 'post', body: data, }) .then(…);</code>
以上是如何使用 Fetch API 将表单数据发布为“application/x-www-form-urlencoded”?的详细内容。更多信息请关注PHP中文网其他相关文章!