vue项目中 axios 的 post 请求使用 formdata 传参

最近做的项目,后端用的 formData 接收参数。
由于以前一直用的 payload 传参,这块还真没怎么研究过。于是万变不离其宗,看文档咯。
方法很直接,人狠话不多:
进入 https://github.com/axios/axios 直接搜索 formData

看到如下:

clipboard.png

所以说,直接修改全局配置,增加 transformRequest 配置处理就可以咯:

import axios from 'axios'
import Qs from 'qs'

let http = axios.create({
  transformRequest: [function (data, headers) {
    // Do whatever you want to transform the data
    return Qs.stringify(data);
  }],
})

好了,是不是so easy!只能再次说明:文档很重要!

本质上说,formDatapayload 的区别就是:前者是字符串,后者是一个 json 对象,所以在请求之前把参数用 Qs 模块转变成字符串就可以咯
阅读 1.1k更新于 5月21日
推荐阅读
79px
用户专栏

前端开发

4 人关注
19 篇文章
专栏主页
目录