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是支持函数和对象两种参数的。但是文档中却没有,如果我没找错文档的话,那只能说文档跟代码有脱节,滞后了。

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

相关推荐
程序员林北北3 小时前
【前端进阶之旅】50 道前端超难面试题(2026 最新版)|覆盖 HTML/CSS/JS/Vue/React/TS/ 工程化 / 网络 / 跨端
前端·javascript·css·vue.js·html
糕冷小美n11 小时前
elementuivue2表格不覆盖整个表格添加固定属性
前端·javascript·elementui
小哥不太逍遥11 小时前
Technical Report 2024
java·服务器·前端
沐墨染11 小时前
黑词分析与可疑对话挖掘组件的设计与实现
前端·elementui·数据挖掘·数据分析·vue·visual studio code
anOnion12 小时前
构建无障碍组件之Disclosure Pattern
前端·html·交互设计
threerocks12 小时前
前端将死,Agent 永生
前端·人工智能·ai编程
问道飞鱼12 小时前
【前端知识】Vite用法从入门到实战
前端·vite·项目构建
爱上妖精的尾巴13 小时前
8-10 WPS JSA 正则表达式:贪婪匹配
服务器·前端·javascript·正则表达式·wps·jsa
Aliex_git14 小时前
浏览器 API 兼容性解决方案
前端·笔记·学习
独泪了无痕14 小时前
useStorage:本地数据持久化利器
前端·vue.js