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

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

看到如下:

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

所以说,直接修改全局配置,增加 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!只能再次说明:文档很重要!

本质上说,
formData
payload 的区别就是:前者是字符串,后者是一个 json 对象,所以在请求之前把参数用
Qs 模块转变成字符串就可以咯

    原文作者:源泉
    原文地址: https://segmentfault.com/a/1190000019233089
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞