在使用axios做接口请求的过程中发现,按照官方文档中的写法,
get()方法是行得通的,post()方法是无论如何都行不通,
控制台中可以看到参数都全部在请求里了,但是就是请求不到数据。
get()方法 post方法通过观察控制台可以发现,请求中的数据格式和往常看到的不太一样,正常的post数据格式应该是这样的
遇到这样的问题,解决方法如下:
一、对post的数据使用qs进行处理
1、qs安装:
npm install qs
2、main.js中引入qs:
import qs from 'qs'
3、对数据进行处理
var data = qs.stringify({
'key1': 'val1',
'key2': 'val2'
});
二、post格式:在请求头部中增加Content-Type值
axios.post('/user', data,{headers:{'Content-Type':'application/x-www-form-urlencoded'}})
then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
这样就解决了请求数据格式不对的问题。
网友评论