问题:vue项目中,用axios封装请求数据时,get请求传递参数为数组时,get拼接url并不能把参数正确的传递过去,
解决:get传参需要前面自己转一下传参的格式

最初错误传参

let provinces= ['1', '2', '3']
axios.get('/gateway/xxx', {
    params: {
      ID: 001,
      provincesData: provinces,
    }
  })
// 上面的请求是 '.../user?ID=001&provincesData[]=1&provincesData[]=2&provincesData[]=3
get直接传数组就会有这种情况

转换传参格式

axios.get('/gateway/xxx', {
    params: {
      ID: 001,
      provincesData: provinces+ '',
    }
  })
// 在参数后面加上( + ''),即可把数组变成字符串
// 请求变成 '.../user?ID=001&provincesData=1,2,3

JavaScript中将数组变成字符串:数组[arr] + ’ ’

Logo

前往低代码交流专区

更多推荐