在开发中用axios请求时,偶尔需要使用qs对数据做如下处理,
a:[1,2,3,4] => a=1&a=2&a=3&a=4
在此记录一下
axios是自带qs因此无需再下载,可直接操作qs.stringify(params, { indices: false }),
import qs from 'qs
...
//引用时将params:{a:[1,2,3,4]}传入
temp(params){
return axios({
url:'https//wwww.sss.com',
params:qs.stringify(params, { indices: false }),
})
},
...
拓展
默认情况处理结果如下
qs.stringify({a:[1,2,3,4]}) =》 a[0]=1&a[1]=2&a[2]=3&a[3]=4
也可以使用arrayFormat进行格式化输出
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' })
// 'a[0]=b&a[1]=c'
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })
// 'a[]=b&a[]=c'
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })
// 'a=b&a=c'