axios 发 post 请求,后端接收不到参数的解决方案

那年仲夏 提交于 2020-01-24 01:09:42

很简单的需求:

axios({
    headers: {
        'deviceCode': 'A95ZEF1-47B5-AC90BF3'
    },
    method: 'post',
    url: '/api/lockServer/search',
    data: {
        username: username,
        pwd: pwd
    }
})

后台得不到我们传过去的

是因为axios会帮我们 转换请求数据和响应数据 以及 自动转换 JSON 数据 ,它将我们的 Content-Type 变成了 application/json;charset=utf-8 

所以会出问题

 

解决方案:

import Qs from 'qs' //axios中自带的模块
axios({
    url: '/api/lockServer/search',
    method: 'post',
    transformRequest: [function (data) {
        // 对 data 进行任意转换处理
        return Qs.stringify(data)
    }],
    headers: {
        'content-type': 'application/x-www-form-urlencoded',
    },
    data: {
        username: 'admin',
        pwd: 'admin'
    }
})

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!