我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

前端-辛洋-20230608

[复制链接]
肤浅1543学员认证 发表于 2023-6-14 19:02:28 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
今日学习内容:
1.FormData

**FormData的主要用途有两个:**

1、将form表单元素的name与value进行组合,实现表单数据的序列化,从而减少表单元素的拼接,提高工作效率。
2、异步上传文件
*//01 创建空的formData实例对象* **var** data **=** **new** FormData();

*//02 设置数据(添加)* data.set("age",18);

data.set("name","LiuY");

data.set("type","法师");

data.set("address","泉水中心");

*//03 设置数据(修改和删除)* data.set("name","MiTaoer");

data.**delete**("address");

*//04 设置数据(追加)* data.append("type","战士");

data.append("type","辅助");**===========================================**

*//05 读取数据(指定key-one)* console.log(data.get("name")); *//MiTaoer* console.log(data.get("type")); *//法师*

*//06 读取数据(指定key-All)* console.log(data.getAll("type")); *//["法师", "战士", "辅助"]*

*//07 检查是否拥有指定的key* console.log(data.has("age")); *//true* console.log(data.has("email")); *//false*

*//08 迭代器的基本使用(keys)* **var** keyIterator **=** data.keys() *//获取迭代器对象*
**formData 对象**的这些方法其实不用进行过多的赘述,上面的代码和说明简单易懂。总体上来说,它提供了一整套的操作数据的方法囊括了添加(set)、修改、查询和删除等操作,append方法和set方法的不同之处在于它不会覆盖而是以数组push的方式来处理同名的数据。
**formData 对象**的keys()、values()和entries()方法使用类似,调用后将得到一个Iterator类型的迭代器对象,该对象能够能够调用next()方法来进行迭代操作,打印结果中的done使用布尔类型的值来进行标记,如果迭代结束那么值为**true**。
**formData 对象**的forEach()接收一个回调函数参数,其中第一个参数为当前遍历数据的value值,第二个参数为key(同数组的forEach方法一致)。如果是Ajax发送GET请求,需要通过formData的方式来提交表单数据,那么可以借助该方法来拼接查询字符串。
**FormData的典型用法**
这里给定如下的表单数据,然后介绍如何使用FormData来处理表单数据发送GET和POST请求。
如果发送的是POST请求,那么提交表单数据需要通过setRequestHeader方法来设置'Content-Type', 'application/x-www-form-urlencoded',而formData数据直接作为send方法的参数来进行提交即可。POST请求通过formData提交给服务器端的数据,如果是Node服务器端则很难处理(同文件一样)。formData最主要的用途其实是用来异步的进行文件上传。

回复

使用道具 举报

关注0

粉丝0

帖子42

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注C++菁英教育

客服电话:18009298968

客服时间:9:00-21:00

猩码学苑 - 专注C++开发菁英教育!( 陕ICP备2025058934号-1 )

版权所有 © 陕西菁英数字科技有限公司 2023-2026