JS - FormData详解

JavaScript016

JS - FormData详解,第1张

1、将form表单元素的name与value进行组合,实现表单数据的序列化,从而减少表单元素的拼接,提高工作效率。

2、异步上传文件

1、创建一个空对象:

2、通过表单对formData进行初始化

创建表单:

通过表单元素作为参数,实现对formData的初始化:

1、通过get(key)与getAll(key)来获取相对应的值

2、通过append(key,value)在数据末尾追加数据

3、通过set(key, value)来设置修改数据

key的值不存在,会添加一条数据

key的值存在,会修改对应的value值

4、通过has(key)来判断是否存在对应的key值

5、通过delete(key)可以删除数据

创建表单:

发送数据:

被需求所迫,简单的 FormData 格式已经满足不了开发了,也为了以后不百度所以记录一下

一、最普通的一种

二、传一个数组

三、传过去一个复杂对象,也可以按照第一种那样一个一个对着写,但是比较累,需求上一次传参有五十个所以就自己写了一个不太完美的方法,虽然有点瑕疵但是这个需求算是过去了

利用FormData对象,可通过js用一些键值对来模拟一系列表单控件,还可以使用XMLHttpRequest的send()方法异步提交表单。

首先,在之前的“前后台交互之传参方式”中讲了传统的form表单提交的方式(表单序列化),它只适用于传递一般参数,上传文件的文件流是无法被序列化并传递的。所以,使用FormData,可以轻松的和ajax结合进行文件上传。