这里写目录标题
目录
遇到的问题 GET请求方法传数组
想传一个数组,但是后台接受到的数据与浏览器中显示的数据和前台代码传的不一样;
-
前台代码打印
-
浏览器显示数据
其中HerbalNameList ,变成了字符串,
- 后台接受参数
变成了数组长度为1的数组,和前台传的数据不一样
解决方案
在request中增加拦截器,代码如下
uni.addInterceptor('request', {
invoke(args) {
// request 触发前拼接 url
const {
data,
method,
} = args;
if (method === "GET") {
// 如果是get请求,且params是数组类型如arr=[1,2],则转换成arr=1&arr=2
const newData = qs.stringify(data, {
arrayFormat: "repeat"
})
delete args.data;
args.url = `${args.url}?${newData}`;
}
},
success(args) {},
fail(err) {},
complete(res) {}
})
后台接受数据