在axios中使用params传参时,如果需要传入数组参数,可以按照以下步骤来进行。
- 在调用axios.get或axios.post时,将参数放在params或data中,并设置paramsSerializer的值为Qs.stringify,即使用qs对数组参数进行序列化。
示例代码:
import axios from 'axios';
import Qs from 'qs';
axios.get('/api', {
params: {
ids: [1, 2, 3]
},
paramsSerializer: params => {
return Qs.stringify(params, {arrayFormat: 'repeat'});
}
})
.then(response => {
console.log(response);
})
.catch(error => {
console.log(error);
});
在上面的示例代码中,我们设置了params为{ids: [1, 2, 3]},并且设置了paramsSerializer的值为Qs.stringify,并且传入了两个参数:params、config。其中,params表示传递的参数,config表示配置请求的选项。
- 在qs序列化参数时,使用参数的键名作为数组的前缀,例如,ids: [1, 2, 3]会被序列化为ids[]=1&ids[]=2&ids[]=3。
示例代码:
import axios from 'axios';
import Qs from 'qs';
axios.get('/api', {
params: {
ids: [1, 2, 3],
name: '张三'
},
paramsSerializer: params => {
return Qs.stringify(params, {arrayFormat: 'repeat'});
}
})
.then(response => {
console.log(response);
})
.catch(error => {
console.log(error);
});
在上面的示例代码中,我们设置了params为{ids: [1, 2, 3], name: '张三'},并且设置了paramsSerializer的值为Qs.stringify,并且传入了两个参数:params、config。其中,params表示传递的参数,config表示配置请求的选项。
总结:使用axios传递数组时,需要将参数放在params或data中,设置paramsSerializer的值为Qs.stringify,并且使用参数的键名作为数组的前缀进行序列化。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在axios中使用params传参的时候传入数组的方法 - Python技术站