jsformdata对象,formdata 传对象

http://www.itjxue.com  2023-01-05 03:50  来源:未知  点击次数: 

FormData对象

1.模拟HTML表单,相当于将HTML表单映射成表单对象,自动将表单对象中的数据拼接成请求参数的格式

2.异步上传二进制文件

1.准备HTML表单,表单中需要提交数据的表单控件必须添加name属性

2.将HTML表单转化为FormData对象,通过

3.提交表单对象

具体操作

①获取到提交表单的按钮并且给按钮添加点击事件,一旦点击就发送请求

②生成formData实例,将获取到的表单元素作为参数

③创建Ajax对象

④配置请求的方式以及地址

⑤将表单实例作为请求参数发送出去

⑥监听onload事件,当响应状态码为200时,说明请求成功,将结果打印出来即可

①formData. get ( 'key' )------用来获取表单对象的属性值,也就是输入框输入的值,key是表单的name所对应的名字

②formData. set ( 'key' ,'value')------用来设置表单对象属性的值,如果设置的表单属性存在就会覆盖原有的值,如果不存在就会创建这个属性

③formData. delete ( 'key' )-------删除表单对象的属性值

④formData. append ( 'key' ,'value')------向表单对象中添加值,如果属性已存在,那么会保留新旧两个属性及值,但是打印的话,后面添加的会覆盖前面的

①upload事件在上传文件的过程中持续触发,它又有一个onprogress方法

②已经上传的文件大小/文件的总大小*100+'%'-------- loaded (已经上传的文件大小)/ total (文件总大小)*100+'%'

③设置一个变量用来接收进度条的值,之后将值赋值给HYML样式即可

JS - FormData详解

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、Blob、Map等几个对象概念

? ? ? ?1、FormData:利用 FormData 对象,可以通过JavaScript键值对来模拟一系列表单控件,还可以使用 XMLHttpRequest的send() 方法来异步提交表单。与普通的Ajax相比,使用FormData 的最大优点就是可以异步上传二进制文件。可以先通过new关键字创建一个空的 FormData 对象,然后使用 append() 方法向该对象里添加字段(字段的值可以是一个 Blob 对象,File对象或者字符串,剩下其他类型的值都会被自动转换成字符串)。FormData对象的操作方法,全部在原型中,自己本身没任何的属性及方法。

使用formdata对象引入哪个js

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

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

前端小技巧:学会用FormData对象收集表单数据

我们先看一个小例子:

html代码:

需求:是获取form表单中的用户名和密码并包装成一个对象

这个需求是我们大部分时候在发送ajax请求时需要做的一个工作。

传统JS写法:

看一下效果:

可以看到,我们已经实现了需求,但是我们写的JS代码很繁琐,我们需要先获取form表单中input框元素,然后元素的value值,最后包装成一个对象。

FormData的JS写法:

效果如下:

通过这个例子你应该能感受到FormData的便利性,只需要 new FormData(form) 一句代码就可以把form表单内的所有信息都以键值对的形式包装成一个对象返回。

FormData对象是用来将form表单数据编译成键值对,这么做有两个好处:

FormData的常用操作方法:

FormData对象可以帮我们更方便的收集表单数据并中的整理成对象,大大方便了我们发送ajax请求。

(责任编辑:IT教学网)

更多

推荐MYSQL文章