解决axios中get传参为嵌套对象时返回400错误
错误原因:
400:传参错误
因为get方式传参无法正常识别为对象 而是均视为字符串
解决办法:
安装qs插件来帮助解析参数
实例:
安装:
npm i qs
yarn add qs
引入:
import qs from ‘qs’
使用:
import axios from 'axios'
import qs from 'qs'
const par = {
name: 'wei',
age: 18,
friend: {
goodfriend: 'xiaoming',
badfriend: 'xiaohua'
}
};
axios({
url: 'www.***.com/api/person',
method: 'get',
params: par,
paramsSerializer: function (params) {
return qs.stringify(params, { arrayFormat: 'indices'});
}
}).then( res => {
console.log(res);
}).catch( err => {
console.error('axios请求错误,错误信息为:' + err);
})
qs介绍:
qs 是一个增加了一些安全性的查询字符串解析和序列化字符串的库。
要知其然,更要知其所以然,那么为什么qs能解决这个问题呢?可以看下面一篇博客