uniapp uni.request GET方式请求,不能直接传数组解决方法

目录

遇到的问题 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) {}
})

后台接受数据
在这里插入图片描述

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值