在使用axios请求的过程中,大家可能会遇到get请求需要传数组的情况:
直接在请求时传参

const params = {
  page: 1,
  size: 10,
  ids: [69, 71]
}
export function getMetricList(params) {
  return axios.get(`/xxx/metrics`, {
    params,
  });
}

此时看到的控制台network中这一项的请求是这样:
在这里插入图片描述
axios显示直接传数组去get请求时是 ids[]=69&ids[]=71
我们如果想要没有 [] 连接的格式就需要进行参数序列化:使用qs.stringify,设置axios配置项中的 paramsSerializer

import qs from 'qs';
export function getMetricList(params) {
  return axios.get(`/xxx/metrics`, {
    params,
    paramsSerializer: params => {
      return qs.stringify(params, { indices: false })
    }
  });
}

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐