axios 的 get 请求传递数组参数

本文介绍了如何在axios中通过qs库将参数序列化为后台所需的格式,包括comma、indices、brackets和repeat四种格式的示例,以及相应的API调用和qs.stringify的用法说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 使用 qs 库 ( 请先执行 yarn add qs ) 结合 axios 自带的 paramsSerializer 方法序列化参数:

import axios from 'axios';
import qs from 'qs';

const instance = axios.create({
  baseURL,
  timeout: 30000,
  withCredentials: true,
});

instance({
  method,
  url,
  params, // url 参数
  paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma' }),
})

qs.stringify 支持转换成以下四种格式, 后台只需要用 Array 接收对应参数就可以了

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'
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'comma' })    // 'a=b,c'

 

参考:

axios中文文档|axios中文网#请求配置#paramsSerializer

qs库使用指南#数组解析和序列化

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值