问题: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] + ‘’