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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐