FormData上传文件以及其他参数

FormData上传文件以及其他参数FormData 上传文件参数

FormData介绍

<form id="myForm" action="" method="post"> <input type="text" name="name">名字 <input type="password" name="psd">密码 </form> <script> // 获取页面已有的一个form表单 let form = document.getElementById("myForm"); // 用表单来初始化 let formData = new FormData(form); // 我们可以根据name来访问表单中的字段 let name = formData.get("name"); // 获取名字 let psd = formData.get("psd"); // 获取密码 // 当然也可以在此基础上,添加其他数据 formData.append("token", "112s"); </script> 
  • FormData类型其实是在XMLHttpRequest 2级定义的,它是为序列化表以及创建与表单格式相同的数据(当然是用于XHR传输)提供便利。

FormData使用

let formdata:FormData= new FormData() // 添加数据方法 // 添加数据,指定的key不存在会新增一条数据,如果存在则会添加到数据末尾 formdata.append('key1', '11') //通过set(key, value)来设置修改数据,如果指定的key不存在则会新增一条,如果存在,则会修改对应的value值。 formdata.set('key2', '22') formdata.set('key2', '333') //获取数据 formdata.getAll("key2"); // ["22", '333'] formdata.get("key2"); // 22 //判断某个Key值是否存在 formdata.has('key2') //true formdata.has('key3') //false //删除数据 formdata.delete("key1") //遍历 /* 迭代器规则 每调用一次next()返回一条数据,数据的顺序由添加的顺序决定 返回的是一个对象,当其done属性为true时,说明已经遍历完所有的数据,这个也可以作为判断的依据 返回的对象的value属性以数组形式存储了一对key/value,数组下标0为key,下标1为value,如果一个key值对应多个value,会变成多对key/value返回 */ var i = formdata.entries(); i.next(); // {done:false, value:["k1", "v1"]} i.next(); // {done:fase, value:["k1", "v2"]} i.next(); // {done:fase, value:["k2", "v1"]} i.next(); // {done:true, value:undefined} // 实例有一个接口需要传输文件和文件名称、备注 const parmas = new FormData() parmas.append('name', 'a.txt') parmas.append('res', '这里是备注') parmas.append('file', new Blob()) // ajax中头部要加 //类型为form-data;headers: {'Content-Type': 'multipart/form-data'} //responseType: 'blob' 返回的数据为Blob类型 api(parmas) 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207014.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午2:38
下一篇 2026年3月19日 下午2:39


相关推荐

  • C语言 一个字符常量占几个字节

    C语言 一个字符常量占几个字节网上一大堆说的不清不楚,总而言之问你的是一个字符常量占几个字节回答:     字符型常量是由一对单引号括起来的单个字符。它分为一般字符常量和转义字符。一个字符常量在计算机的存储中占据一个字节…

    2022年6月26日
    38
  • JVM内存逃逸[通俗易懂]

    JVM内存逃逸[通俗易懂]JVM内存逃逸第一次听到JVM内存逃逸的名词时还是很懵逼的,于是赶紧各种查资料,终于搞懂了这个地方。JVM的内存分配主要在是运行时数据区(RuntimeDataAreas),而运行时数据区又分为了:方法区,堆区,PC寄存器,Java虚拟机栈(就是栈区,官方文档还是叫Java虚拟机栈),本地方法区,而内存逃逸主要是对象的动态作用域的改变而引起的,故而内存逃逸的分析就是分析对象的动态作…

    2022年5月30日
    31
  • 第十七节:织梦做自定义表单在线预约的方法

    第十七节:织梦做自定义表单在线预约的方法

    2021年9月25日
    37
  • MIPI协议的DCS指令格式[通俗易懂]

    MIPI协议的DCS指令格式[通俗易懂]虽然读了几遍MIPIPHY/DSI/DCS标准,还是有点糊涂,把DataType和DCScommand有些混淆,浪费了不少的时间。ILI9488的指令中把DCSPacket的组成用图示展示了出来,非常直观,真是一图胜千言啊!回头再看DSI的文字描述就印象深刻了,巨坑啊!!!

    2022年5月27日
    38
  • 解决windows10下无法安装.net framework 3.5,错误代码0x8024401C

    解决windows10下无法安装.net framework 3.5,错误代码0x8024401Cwindowsupdateerror0x8024401c不想改bug2018-09-2015:28:164478已收藏3展开Error0x8024401c以系統管理員身分執行命令提示字元,然後執行下列三行指令:netstopwuauservregdeleteHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdatenetstartwuauserv操作如下:C:\Windows\s

    2022年4月29日
    138
  • cpus Vs cpu period and cpu quota[通俗易懂]

    1.https://docs.oracle.com/cd/E37670_01/E75728/html/section-zb1_wqw_gt.htmlTocontrolacontainer’sCPUusage,youcanusethe–cpu-periodand–cpu-quotaoptionswiththedockercreateanddocker…

    2022年4月13日
    139

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号