首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浅析 FormData

这是第 132 篇不掺水的原创 本文首发于政采云前端团队博客:浅析 FormData https://www.zoo.team/article/formdata 前因 在日常开发中都是使用公司内部封装好的...定义 FormData 这种方式相信很多同学都比较熟悉,它提供了一种表示表单数据的键值对 key/value 的构造方式,由名称和定义就知道 FormData 是专门为表单量身定做的类型,但其实其功能要比...application/json 强得多,比如文件上传的问题,用 FormData 传参能很好的解决,window 上也直接挂载了 FormData (https://developer.mozilla.org...我们在控制台实例化一个 FormData 对象,然后打印,如下 使用 可以看到其原型上有很多的方法,个人感觉这个 FormData 跟 Map 有点像,仔细观察可以知道都有 set、get、values...总结 在我们日常开发中,现有的几种都能够满足我们的使用需求,只是在一些特殊的场景中可能会有一些偏差,具体如何使用还是要看场景,以及和服务端的约定,约定优于配置

1.7K10
您找到你想要的搜索结果了吗?
是的
没有找到

FormData使用方法详解

2、异步上传文件 一、创建formData对象 1、创建一个空对象: //通过FormData构造函数创建一个空对象 var formdata=new FormData(); //可以通过append(...//通过set方法对值进行设置 formdata.set("name","laoliu"); console.log(formdata.get("name"));//laoliu 2、通过表单对formData...,返回值为数组类型 formdata.getAll("age"); 2、通过append(key,value)在数据末尾追加数据 //通过FormData构造函数创建一个空对象 var formdata...来设置修改数据 key的值不存在,会添加一条数据 //通过FormData构造函数创建一个空对象 var formdata=new FormData(); //如果key的值不存在会为数据添加一个key...var formdata=new FormData(); //通过append()方法在末尾追加key为name值为laoliu的数据 formdata.append("name","laoliu")

1.7K30

FormData对象的应用

一、FormData对象作用 用一些键值对来模拟一系列表单控件:即把form中所有表单元素的name与value组装成 一个queryString 异步上传二进制文件 二、FormData的使用 先来看一下...FormData都有哪些方法,其实严格意义来说FormData本身并没有属性和方法,其操作方法均在原型当中。...append方法和set都可以向FormData中添加数据,不同的是set方法是直接向FormData中添加,覆盖掉之前的数据,append方法是向其追加数据,即name对应的value将成为一个数组,...落帆亭"] fd.has("name")//true 使用FormData对象发送文件 通过FormData可以实现异步上传文件。...将文件转成二进制数据 var formData = new FormData(); // 将文件转二进制 *****注意2****** formData.append('

1.7K30

DOMString、Document、FormData、Blob、File、ArrayBuffer (转)

四、家臣之FormData对象 XMLHttpRequest Level 2添加了一个新的接口FormData....FormData对象的作用就类似于这里的serialize()方法,不过FormData是浏览器原生的,且支持二进制文件,是个一眼就会让人喜欢的很赞的东西! ?...第二部分也就是第二行,表示内容配置,这里都是统一的form-data(因为是FormData对象格式提交的),然后紧跟着name键值。 第三部分就是第三行,表示传输的值。...> FormData对象还有一个方法,为append()方法,可以人为的给当前FormData对象添加一个键/值对。...由于权限原因,我的个人站点无法配置Access-Control-Allow-Origin,我测试了下,新浪微博的图片是无法二进制请求的,不过我的前东家,xiaomishu.com的图片都是可以Ajax请求并

2.8K30

Blob、ArrayBuffer、File、FileReader和FormData的区别

前言 Blob、ArrayBuffer、File、FileReader、FormData这些名词总是经常看到,知道一点又好像不知道,像是同一个东西好像又不是,总是模模糊糊,最近终于下决心要弄清楚。...这些名词里: Blob、ArrayBuffer、File可以归为一类,它们都是数据; FileReader算是一种工具,用来读取数据; FormData可以看做是一个应用数据的场景。...因此,我们首先着重区分Blob、ArrayBuffer、File,然后再对fileReader和FormData做简要介绍。...准确来说,FormData其实与上述内容关系就不大了。...FormData的最大优点就是,比起普通的ajax, 使用FormData我们可以异步上传一个二进制文件,而这个二进制文件,就是我们上面讲的Blob对象。

4.9K21

Ajax文件上传时:Formdata、File、Blob的关系

方法、属性如下: FormData([Form])创建一个新的 FormData 对象,form这种方式创建的FormData对象会自动将form中的表单值也包含进去,包括文件内容也会被编码之后包含进去...FormData.get()返回在 FormData 对象中与给定键关联的第一个值。 FormData.getAll()返回一个包含 FormData 对象中与给定键关联的所有值的数组。...FormData.has()返回一个布尔值表明 FormData 对象是否包含某些键。 FormData.keys()返回一个包含所有键的iterator对象。...FormData.set()给 FormData 设置属性值,如果FormData 对应的属性值存在则覆盖原值,否则新增一项属性值。...fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; 实际上传不受 keepalive_timeout 时间影响,和该项配置无关

3K30
领券