原因
按照默认的http get请求,如果请求参数是数组,不如参数codes 数组,值[“A”,“B”,“C”],那么按照http请求,传递get参数应该是 a[]=A&a[]=B&a[]=C,可问题是golang gin框架不支持这种,使用axios的默认的get请求,拼接这种参数,服务端gin无法接受成功。
解决办法
await axios.get('/your-api-url', {
params: {
codes: codes
}, paramsSerializer: params => {
return qs.stringify(params, {indices: false})
}
}).then((resp) => { console.log(resp)});
注意
这里一定要带参数 {indices:false}
,否则解出来的会是 a[0]=A&a[1]=B&a[2]=C。
如果带了这个参数,那么解出来的是 a=A&a=B&a=C,这样后端gin才可以读取到。
引入qs包的方法
npm i qs