FormData
@
目录
1. FormData 对象的作用
- 模拟HTML表单,相当于将HTML表单映射成表单对象,自动将表单对象中的数据拼接成请求参数的格式。
- 异步上传二进制文件
2. FormData 对象的使用
- 准备 HTML 表单
<!-- form 不用指定 action 和 method,它通过ajax请求来完成 -->
<form id="form">
<!-- 表单控件需要指定 name 属性 -->
<input type="text" name="username" />
<input type="password" name="password" />
<!-- 不使用submit控件,它有默认事件 -->
<input type="button"/>
</form>
- 将 HTML 表单转化为 formData 对象
var form = document.getElementById('form');
var formData = new FormData(form);
/*
formData 是个内部封装了很多东西的对象,可以把它看成有表单控件的name值 和 value值 组成的键值对 对象 ,比如:
{"username": "jam", "password": "123"}
*/
- 通过ajax请求提交表单对象
new XMLHttpRequest.send(formData);
3. FormData 对象的实例方法
formData.get()#
获取表单对象中属性的值
/*
key: 表单控件中的name , 返回对应的value值
*/
formData.get('key');
formData.set()#
设置表单对象中属性的值
// 如果设置的表单属性存在 将会覆盖属性原有的值,
//如果设置的表单属性不存在 将会创建这个表单属性
formData.set('key', 'value');
formData.delete()#
删除表单对象中属性的值
formData.delete('key');
formData.append();#
向表单对象中追加属性值
formData.append('key', 'value');
注意:
-
set 方法与 append 方法的区别是,在属性名已存在的情况下,set 会覆盖已有键名的值,append会保留两个值。
-
通过append()给formData追加同名属性,并以ajax请求的形式发送给服务端,请求中确实传递了多个同名属性,可服务器默认情况下只会接收最后一个同名属性
作者:Hong•Guo
出处:https://www.cnblogs.com/ghnb1/p/15847627.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix