vue中axios改变header为application/x-www-form-urlencoded不起作用

axios默认的头是这个,一般get请求是这个头
config.headers[‘Content-Type’] = ‘application/json’

如果post接口,后端给的头是application/x-www-form-urlencoded

需要引入qs,然后转码,qs是axios自带可直接使用,不用安装

import Qs from 'qs'
//然后把参数转码
export function setPeople (body) {
    console.log('查看参数', body)
    return request({
        url: '/v1/setPeople',
        method: 'post',
        data: Qs.stringify(body),
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}

在这里插入图片描述
在这里插入图片描述

当然,也可以直接在请求拦截器里拦截,设置头和data
config.headers[‘Content-Type’] = ‘application/x-www-form-urlencoded’
config.data = Qs.stringify(config.data)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐