JavaScript中的FormData类型示例详解_javascript技巧

在 JavaScript 中,FormData 是一个用于构建表单数据的接口,主要用于通过  XMLHttpRequest 或  fetch API  发送表单数据(尤其是文件上传)。它提供了一种方便的方式来处理表单字段(包括文件)的键值对。

看着和Map类型有些相似,因为实现了Symbol[iterator],因此是可迭代对象。

可以通过构造函数直接创建空的 FormData 对象,或者从 HTML 表单元素初始化:

// 方法1:创建空的 FormDataconst formData = new FormData();// 方法2:从 HTML 表单初始化(自动包含表单的所有字段)const formElement = document.querySelector('form');const formDataFromForm = new FormData(formElement);

2. 添加数据到 FormData

使用 append() 方法添加字段(支持多次添加同名键):

const formData = new FormData();// 添加文本字段formData.append('username', 'JohnDoe');formData.append('age', '25');// 添加文件(通过文件输入框获取)const fileInput = document.querySelector('input[type="file"]');if (fileInput.files.length > 0) { formData.append('avatar', fileInput.files[0]); // 'avatar' 是字段名}// 可以添加多个同名键(如多选框)formData.append('hobbies', 'reading');formData.append('hobbies', 'gaming');

3. 发送 FormData 到服务器

通过 fetch 或 XMLHttpRequest 发送数据:

fetch('/api/upload', { method: 'POST', body: formData, // 直接传递 FormData 对象 // 注意:不要手动设置 Content-Type,浏览器会自动添加 multipart/form-data}) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error));

使用 XMLHttpRequest

const xhr = new XMLHttpRequest();xhr.open('POST', '/api/upload');xhr.onload = function() { if (xhr.status === 200) { console.log('Upload success:', xhr.responseText); }};xhr.send(formData);

4. 读取 FormData 内容

虽然 FormData 主要用于发送数据,但也可以通过以下方式读取内容:

// 遍历所有字段for (const [key, value] of formData.entries()) { console.log(key, value);}// 获取单个字段的值(仅第一个)const username = formData.get('username');// 检查字段是否存在const hasAge = formData.has('age');

5. 注意事项

完整示例:

到此这篇关于JavaScript中的FormData类型示例详解的文章就介绍到这了,更多相关JS中FormData类型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!


本文地址: https://www.earthnavs.com/jishuwz/eac36fab16e232fb64b6.html
全局中部横幅
精易导航

,精易导航-中文编程易语言论坛

微信小程序观察网

微信小程序观察网致力于微信小程序制作开发运营推广教程,行业资讯和案例分享,为微信小程序开发及运营人员提供最新的开发文档和工具、运营方案等资源,打造具有影响力的微信小程序信息交流平台。

直播个人中心

虎牙直播是年轻人喜爱的互动直播平台,900万人同时在线,提供高清、流畅的赛事直播和游戏直播.虎牙包含英雄联盟lol直播、dota2直播、穿越火线cf直播、dnf直播等热门游戏直播以及、美女主播、网络电视

KolRank排行榜

KolRank排行榜是KolRank旗下的自媒体大数据服务平台,提供权威的微信和微博排行榜,以及自媒体行业的各种数据、资讯、培训......

PotPlayer中文网

PotPlayer中文网是关于PotPlayer的中文网站,内容有PotPlayer下载,使用教程,插件,直播源,皮肤。PotPlayer支持网络上所有主流的视频音频格式文件,被誉为Windows平台上最优秀的免费影音全能格式播放器。

首页

该站点未添加描述description...

云服务器

奇异互动提供专业的云服务器,云虚拟主机,香港VPS,独立服务器,裸金属服务器,面向全球客户提供基于云计算的IT解决方案与客户服务,是国内专业的云服务器,云虚拟主机,香港VPS,独立服务器,裸金属服务器,基础设施服务提供商。

文多多

使用文多多AIPPT在几秒钟内创建令人惊叹的PowerPoint演示文稿。只需动动鼠标即可生成专业的幻灯片。

超悦电脑

收藏特快网址是开放式网站分类目录导航,收录国内外、各行业优秀网站,旨在为用户提供网站分类目录检索、优秀网站参考、网站推广服务。