Axios采坑之路
POST请求设置Content-Type
由于后端采用的是
form
表单形式上送参数,需要设置Content-Type
axios
设置如下
const _axios = axios.create(config);
_axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;';
api
调用
import { request } from '@plugin/axios'
export const getEventDataList = data => {
return request ({
url: '/xxx/initialize',
method: 'post',
params: data
})
}
- 使用
chrome
调试工具看post
请求,参数以query string
的形式上送,request
的headers
无Content-Type
参数,试过很多方法都不行
后来后端说参数应该在body
上送,并且把参数转成query string
的形式就可以了
- 调用方式改为如下方式
import { request } from '@plugin/axios'
import qs from 'qs'
export const getEventDataList = data => {
return request ({
url: '/xxx/initialize',
method: 'post',
data: qs.stringify(data)
})
}
- 使用
chrome
调试工具看,有Content-Type
参数了,并且参数是以Form Data
的形式上送,不再是query string
- 总结
post
请求只有参数使用body
上送设置Content-Type
才能生效,post
请求参数是以query string
的形式上送,则无法设置Content-Type
原文地址:https://www.cnblogs.com/iPing9/p/10917359.html
时间: 2024-11-08 18:01:40