在开发过程中后端要求请求方式为 post, 但传输的数据格式为 form 表单 formdata 形式的.
在用 axios 插件请求数据时实现上述请求, 可以添加 params 属性, 但是这种方式会在请求 url 后面拼接请求参数, 与 post 请求有些不符.
FormData
FormData 接口提供了一种表示表单数据的键值对的构造方式, 经过它的数据可以使用 XMLHttpRequest.send() 方法送出, 本接口和此方法都相当简单直接. 如果送出时的编码类型被设为 "multipart/form-data", 它会使用和表单一样的格式.
方法
方法名 | 介绍 |
---|---|
FormData.append() | 向 FormData 中添加新的属性值,FormData 对应的属性值存在也不会覆盖原值,而是新增一个值,如果属性不存在则新增一项属性值。 |
FormData.delete() | 从 FormData 对象里面删除一个键值对。 |
FormData.entries() | 返回一个包含所有键值对的 < a href="https://links.jianshu.com/go?to=https://developer.mozilla.org/zh-CN/docs/web/JavaScript/Reference/Iteration_protocols" target="_blank" ztid="79" ow="0" oh="18">iterator 对象。 |
FormData.get() | 返回在 FormData 对象中与给定键关联的第一个值。 |
FormData.getAll() | 返回一个包含 FormData 对象中与给定键关联的所有值的数组。 |
FormData.has() | 返回一个布尔值表明 FormData 对象是否包含某些键。 |
FormData.keys() | 返回一个包含所有键的 < a href="https://links.jianshu.com/go?to=https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Iteration_protocols" target="_blank" ztid="96" ow="49" oh="18">iterator 对象。 |
FormData.set() | 给 FormData 设置属性值,如果 FormData 对应的属性值存在则覆盖原值,否则新增一项属性值。 |
FormData.values() | 返回一个包含所有值的 < a href="https://links.jianshu.com/go?to=https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Iteration_protocols" target="_blank" ztid="105" ow="0" oh="18">iterator 对象。 |
来源: http://www.jianshu.com/p/8db1d87b4a9c