axios的参数格式问题
2020-01-07 本文已影响0人
田文健
axios 是基于promise的http请求库,可以用在浏览器,也可以在node环境下用。默认的参数转换格式可能不是我们想要的,那么需要用qs库转换。
axios.defaults.paramsSerializer = function(params){
return qs.stringify(params, {arrayFormat: 'indices', allowDots: true})
};
上面的代码表示参数转为string,数组格式化成有下标的格式,对象属性用小数点标识。
其他用法
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'