axios发送post请求,后端接受不到参数

632 阅读1分钟

问题产生场景:发送请求到萤石平台获取用户token。已经传参但是返回的msg总是提醒缺少appKey。

查了下原因大致就是axios会将传参处理一下,将Content-Type变成application/json;charset=utf-8的,而萤石要求的是application/x-www-form-urlencoded,故萤石后台接受不到参数。

解决方法:使用qs处理一下(将参数转换为query参数)

import qs from 'qs'//axios自带qs,不用额外安装
let data = {
    "appKey": "************",
    "appSecret": "*********"
}

axios({
    method: 'post',
    url: '/***',
    data: qs.stringify(data)
})

参考:地铁程序员 axios 发 post 请求,后端接收不到参数的解决方案