axios query传数组参数的格式

打印 上一主题 下一主题

主题 784|帖子 784|积分 2352

在 Axios 中,当你需要转达数组参数时,可以使用以下几种方式举行格式化:

  • 使用 paramsSerializer 将数组转换为逗号分隔的字符串:
    1. import axios from 'axios';
    2. import qs from 'qs';
    3. const arrayParams = ['param1', 'param2', 'param3'];
    4. axios.get('https://api.example.com/endpoint', {
    5. params: { array: arrayParams },
    6. paramsSerializer: (params) => qs.stringify(params, { arrayFormat: 'comma' }),
    7. })
    8. .then((response) => console.log(response))
    9. .catch((error) => console.error(error));
    复制代码
    这将发送一个雷同于以下的请求: https://api.example.com/endpoint?array=param1,param2,param3 
  • 使用 indices 格式(默认行为):
    1. axios.get('https://api.example.com/endpoint', {
    2. params: { array: arrayParams },
    3. })
    4. .then((response) => console.log(response))
    5. .catch((error) => console.error(error));
    复制代码
    这将发送一个雷同于以下的请求: https://api.example.com/endpoint?array[0]=param1&array[1]=param2&array[2]=param3 
  • 使用 brackets 格式:
    1. axios.get('https://api.example.com/endpoint', {
    2. params: { array: arrayParams },
    3. paramsSerializer: (params) => qs.stringify(params, { arrayFormat: 'brackets' }),
    4. })
    5. .then((response) => console.log(response))
    6. .catch((error) => console.error(error));
    复制代码
    这将发送一个雷同于以下的请求: https://api.example.com/endpoint?array[]=param1&array[]=param2&array[]=param3 
  • 使用 repeat 格式:
    1. axios.get('https://api.example.com/endpoint', {
    2. params: { array: arrayParams },
    3. paramsSerializer: (params) => qs.stringify(params, { arrayFormat: 'repeat' }),
    4. })
    5. .then((response) => console.log(response))
    6. .catch((error) => console.error(error));
    复制代码
    这将发送一个雷同于以下的请求: https://api.example.com/endpoint?array=param1&array=param2&array=param3 
    注意,使用 paramsSerializer 需要安装并导入 qs 库。你可以使用以下命令安装它:
    1. npm install qs
    复制代码

    1. yarn add qs
    复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

光之使者

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表