解决axios请求query方式传参时url参数中数组参数带'[]'问题

如果用axios请求,发送数据格式为query方式,并且发送参数数据中有数组,会导致参数中有[]的问题,如下方例子
http://localhost/dev-api/wk/roster/export?workerIdList[]=431075006414849&workerIdList[]=429322722672641

这样会导致请求失败,状态码为400的错误,解决方式就是用qs包来配置一下

  1. 下载qs包并引用
npm install qs
import qs from 'qs';
  1. 设置axios配置中paramsSerializer参数
export const exportRosterApi = (data) => {
  return request({
    url: `/wk/roster/export`,
    method: 'post',
    params: data,
    paramsSerializer: { // 解决数组url传参时参数带'[]'问题
      serialize: params => qs.stringify(params, { arrayFormat: 'repeat' })
    }
  })
}

配置后再请求就会去掉[],如下方请求链接:
http://localhost/dev-api/wk/roster/export?workerIdList=431075006414849&workerIdList=429322722672641

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容