1.序列化数组
import axios from 'axios';
import qs from 'qs';
axios.create({
baseURL: process.env.baseUrl,
paramsSerializer: (params) => qs.stringify(params, { indices: false }),
})
qs.stringify({ids: [1, 2, 3]}, { indices: false })
//形式: ids=1&ids=2&id=3
qs.stringify({ids: [1, 2, 3]}, {arrayFormat: ‘indices‘})
//形式: ids[0]=1&aids1]=2&ids[2]=3
qs.stringify({ids: [1, 2, 3]}, {arrayFormat: ‘brackets‘})
//形式:ids[]=1&ids[]=2&ids[]=3
qs.stringify({ids: [1, 2, 3]}, {arrayFormat: ‘repeat‘})
//形式: ids=1&ids=2&id=3
// 用法
export function getFileList(params: any) {
const queryString = qs.stringify(params, { indices: false })
return http.get(`/file/list?${queryString}`)
}
2.将数组转为字符串
params:{
listIds: [1,2,3] + ''
}
// 形式: &listIds='1,2,3'
3.使用URLSearchParams
const queryParams = new URLSearchParams()
let paramsArr = ['COUNTRY', 'PROVINCE']
paramsArr.forEach(ele => {
queryParams.append('projectLevelList', ele)
})
axios.get(url,{params: queryParams} )
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
// 形式: projectLevelList=COUNTRY&projectLevelList=PROVINCE