Axios get请求数组参数移除默认的[]

列表查询条件中的状态需要支持多选,字段就有原来的number变成了number[]。在Element Plus的加持下,给el-select添加一个multiple就解决了,打完收工。额,还是测试一下吧:)。选择的状态变了,数据没变呀,遂找后端,经过调查,说是不能参数中不能有[],否则不能正确解析这个参数。

我隐约记得若干年前,前端用jquery跟后端php对接时就遇到过类似的问题(也可能是我记错了)。现在用的是Axios,我觉得Axios应该会把这个作为选项暴露出来,让使用者可以切换。遂去官网找配置

大概就是改一下paramsSerializer了,那么怎么改呢?又搜了一下,说是可以改成

javascript 复制代码
paramsSerializer: function(params) {
	return qs.stringify(params, { arrayFormat: 'repeat' });
}

遂安装qs。真能解决问题,就这样吧。

过了几天,也就是今天,我突然想把这个记录下来,于是就想把Axios中的逻辑搞清楚,就去翻代码,无意间看到这段代码(toFormData.js),感觉可以把indexes传成null,就试了试,果然成了

如下

javascript 复制代码
paramsSerializer: {
	indexes: null,
}

从源码中知道paramsSerializer是支持函数和对象两种参数的。但是文档中却没有,如果我没找错文档的话,那只能说文档跟代码有脱节,滞后了。

如果对你有帮助,请帮忙点赞,嘻嘻:)

相关推荐
一叶飘零晋14 小时前
【(一)Electron 使用之如何用vite+vue3搭建初始框架】
前端·javascript·electron
光影少年14 小时前
前端SSR和ssg区别
前端·vue.js·人工智能·学习·react.js
广州华水科技14 小时前
北斗形变监测传感器在水库安全监测中的应用与发展
前端
凯瑟琳.奥古斯特15 小时前
Bootstrap快速上手指南
开发语言·前端·css·bootstrap·html
精益数智工坊15 小时前
拆解制造业仓库物料管理流程:如何通过标准化仓库物料管理流程解决账实不符难题
大数据·前端·数据库·人工智能·精益工程
恶猫15 小时前
网页自动化模拟操作时,模拟真实按键触发事件【终级方案】
前端·javascript·自动化·vue·网页模拟
小羊Yveesss15 小时前
2026年前端开发新趋势:智能协同、工具革新与场景深耕
前端·ai
Dxy123931021615 小时前
HTML中的Canvas可以干哪些事情
前端·html
悟乙己16 小时前
解析 Agent 时代的 HTML PPT SKILLS: html-ppt-skill
前端·html·powerpoint
ZC跨境爬虫16 小时前
跟着 MDN 学 HTML day_2:(表单分组与高级输入控件实战)
前端·javascript·css·ui·html