vue3.x axios解决Content type 'application/x-www-form-urlencoded;charset=UTF-8' 不支持问题
- 前端
- 三生万物
- 0
出现这个问题,主要还是因为记错了后端具体使用的是什么内容类型来接收前端 POST
传输参数,所以只要知道了后端采用的内容类型就可以很好的解决问题,如后端是通过 application/json
,就可如下处理:
const result = axios.post('user/list', {pageSize: 15, pageNumber: 1}, {
headers: {
'Content-Type': 'application/json'
}
})
或
const result = axios({
method: 'POST',
url: 'user/list',
headers: {
'Content-Type': 'application/json'
},
data: {pageSize: 15, pageNumber: 1}
})
然后在 axios
的封装里加上对应的判断:
const instance = axios.create({
baseURL: '/api/',
transformRequest: [(data, headers) => {
if(headers?.['Content-Type'] === 'application/json') {
return JSON.stringify(data);
}
return qs.stringify(data)
}]
})
免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。