GET请求传数组

GET请求直接传数组给后端,格式会错误,如下所示:

axios.get('/gateway/xxx', {
    params: {
      name: 'lvxiaobu',
      list: [1,2,3],
    }
})
// url:http://XXXXX?name=lvxiaobu&list[]=1&list[]=2&list[]=3

最终请求的url为:
GET请求传数组_第1张图片
这样传的数组格式显然后端解析不了,后端希望的格式要么是list=1&list=2&list=3,要么是list=1,2,3

解决方法:

转换传参格式,JS中将数组变成字符串:数组[arr] + ’ ’

axios.get('/gateway/xxx', {
    params: {
      name: 'lvxiaobu',
      list: [1,2,3] + '',
    }
})
// url:http://XXXXX?name=lvxiaobu&list=1,2,3

最终请求的url为:
GET请求传数组_第2张图片
题外话:
GET请求传数组_第3张图片

你可能感兴趣的:(笔记,前端)