我正在参加「初夏创意投稿大赛」详情请看:初夏创意投稿大赛
思考?为什么会有FormData格式呢
日常与后台对接时,一般数据格式都是data、params数据传参,但偶尔也是有例外:文件上传等需要我们去使用formdata格数传参,那么应该怎么去进行接口访问呢?
那它到底是什么格式呢,为什么不能用其他方式呢?
FormData接口提供了一种表示表单数据的键值对 key/value
的构造方式,并且可以轻松的将数据通过 XMLHttpRequest.send()
方法发送出去,本接口和此方法都相当简单直接。如果送出时的编码类型被设为 "multipart/form-data"
,它会使用和表单一样的格式。
问题来了,我们怎么将普通对象类型转换为formData格式呢
好了直接上代码
// 创建一个formData对象用于上传
const fd = new FormData()
// 循环addForm这个对象,利用keys这个方法将所有的属性名转换为数组,然后遍历添加到fd这个对象中,利用属性 名取值方法将每个值添加个这个对象
Object.keys(this.addForm).forEach(item => {
fd.append(item, this.addForm[item])
})
或者你也可以直接添加
你可以使用 `FormData.append` 来添加键/值对到表单里面;```
formData.append('username','Chris');
然后最后就可以发送ajax啦