解决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能解决这个问题呢?可以看下面一篇博客

https://blog.csdn.net/qq_41176306/article/details/115208139

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐