FormData是表示HTML表单数据的对象。

构造函数:

let formData = new FormData([form]);

如果提供了 HTML form 元素,它会自动捕获 form 元素字段。FormData 的特殊之处在于网络方法,例如 fetch 可以接受一个 FormData 对象作为body。它会被编码并发送出去,带有 Content-Type: multipart/form-data。从服务器角度来看,它就像是一个普通的表单提交。

FormData 方法:

使用以下方法修改FormData中的字段:
1.formData.append(name, value) —— 添加具有给定 name 和 value 的表单字段。
2.formData.append(name, blob, fileName) —— 添加一个字段,就像它是 ,第三个参数 fileName 设置文件名(而不是表单字段名),因为它是用户文件系统中文件的名称。
3.formData.delete(name) —— 移除带有给定 name 的字段。
4.formData.get(name) —— 获取带有给定 name 的字段值。
5.formData.has(name) —— 如果存在带有给定 name 的字段,则返回 true,否则返回 false。
一个表单可以包含多个具有相同 name 的字段,因此,多次调用 append 将会添加多个具有相同名称的字段。
还有一个 set 方法,语法与 append 相同。不同之处在于 .set 移除所有具有给定 name 的字段,然后附加一个新字段。因此,它确保了只有一个具有这种 name 的字段,其他的和 append 一样:
1.formData.set(name, value)。
2.formData.set(name, blob, fileName)。

//用for..of循环迭代formData字段:
let formData = new FormData();
formData.append('key1', 'value1');
formData.append('key2', 'value2');// 列出 key/value 对
for(let [name, value] of formData) {alert(`${name} = ${value}`); // key1 = value1,然后是 key2 = value2
}

发送带有文件的表单:

//上传图片文件
<form id="formElem"><input type="text" name="firstName" value="John">Picture: <input type="file" name="picture" accept="image/*"><input type="submit">
</form><script>formElem.onsubmit = async (e) => {e.preventDefault();let response = await fetch('/article/formdata/post/user-avatar', {method: 'POST',body: new FormData(formElem)});let result = await response.json();alert(result.message);};
</script>

网络请求——表单参考内容网址

JS之FormData对象相关推荐

  1. js 遍历formData对象数据

    //处理fromDatafunction fromDataMeth(formData) {for (var key of formData.keys()) {console.log("key ...

  2. 利用FormData对象实现AJAX文件上传功能及后端实现

    包括HTML基础设置.CSS界面优化.JS利用FormData对象和AJAX进行上传.后端接收文件并存储到指定路径以及删除文件操作. FE HTML 基础的设置: <form enctype=& ...

  3. JS中 new FormData() - FormData对象的作用及用法

    JS中 new FormData() - FormData对象的作用及用法 js FormData 方法介绍 formData是ajax2.0(XMLHttpRequest Level2)新提出的接口 ...

  4. node.js实现formdata上传文件

    node.js实现formdata上传文件 1.关于formdata XMLHttpRequest Level 2 添加了一个新的接口--FormData.利用 FormData 对象,我们可以通过 ...

  5. 移动端通过ajax上传图片(文件)并在前台展示——通过H5的FormData对象

    前些时候遇到移动端需要上传图片和视频的问题,之前一直通过ajax异步的提交数据,所以在寻找通过ajax上传文件的方法.发现了H5里新增了一个FormData对象,通过这个对象可以直接绑定html中的f ...

  6. easyui form提交和formdata提交记录,查看FormData对象内部的值

    1  easyui form提交 $('form').form('submit',{url:'';onSubmit:'';success:function(data){//这种方法获取到的data是字 ...

  7. jQuery中的ajax、jquery中ajax全局事件、load实现页面无刷新局部加载、ajax跨域请求jsonp、利用formData对象向服务端异步发送二进制数据,表单序列化(异步获取表单内容)

    jQuery中使用ajax: 在jQuery中使用ajax首先需要引入jQuery包,其引入方式可以采用网络资源,也可以下载包到项目文件中,这里推荐下载包到文件中:市面上有多个版本的jQuery库,这 ...

  8. PHP结合HTML5使用FormData对象提交表单及上传图片

    FormData 对象,可以把form中所有表单元素的name与value组成一个queryString,提交到后台.在使用Ajax提交时,使用FormData对象可以减少拼接queryString的 ...

  9. JavaScript FormData对象,FileReader对象,files属性

    一.ajax与FormData的使用 最近在使用ajax朝后端提交数据时,如果提交的数据都是普通键值对还好说,直接使用ajax默认的格式向后端提交即可. $('#d1').click(function ...

最新文章

  1. 为IP签发SSL证书
  2. YYAnimatedImageView--gif在ios14之后只能播放一次
  3. grafana 安装配置
  4. 了解mysql的三种不同安装方式的区别
  5. Matlab-离散事件系统仿真实验
  6. 鸟哥的Linux私房菜(基础篇)-第零章、计算机概论(零.3)
  7. U3D 编辑器中sceneview下相机操作相关
  8. 科大星云诗社动态20210321
  9. socket网络编程——多进程、多线程处理并发
  10. java中 hashset_Java中的HashSet
  11. sql更改完整模式报错_SQL的完整形式是什么?
  12. 用C#写的汉语转拼音缩写的例子
  13. MySQL基本介绍(一)
  14. 15分钟搞定OLAP查询引擎Phoenix
  15. 教学设计的理念与方法【2】
  16. Python之生成器练习
  17. 剑指offe 面试题5, 从尾到头打印链表
  18. 乐视2 usb计算机连接,乐视 LetvX620 开启USB调试模式
  19. blender 中如何给 bpy.types.Operator 传值
  20. unicode编码和utf-8编码的区别

热门文章

  1. 11.2 NOIP模拟赛 (morning)
  2. 计算机模拟试题十及答案
  3. QQ远程协助不能控制win7系统的解决方法
  4. 【Kotlin 协程】Flow 异步流 ④ ( 流的构建器函数 | flow 构建器函数 | flowOf 构建器函数 | asFlow 构建器函数 )
  5. 常用screen命令
  6. ##Windows 10纯净版下载##
  7. 大数据之分布式协调神器:Zookeeper选举
  8. 淘宝手机所在地查询接口
  9. 负载均衡和动态负载均衡
  10. KDYD-JC自动高压漆膜连续性试验仪