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

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

相关推荐
Franciz小测测8 小时前
Gemini 网页端自定义教程:利用 Stylus 强制开启宽屏显示
前端·css·stylus
彭不懂赶紧问8 小时前
鸿蒙NEXT开发浅进阶到精通15:从零搭建Navigation路由框架
前端·笔记·harmonyos·鸿蒙
xkxnq8 小时前
第一阶段:Vue 基础入门(第 2 天)
前端·javascript·vue.js
程序员刘禹锡8 小时前
定位与图标字体知识点全解析!!!(12.31)
前端·css·html·css3
wordbaby8 小时前
公私分明:为什么你不应该共用 SSH Key(附多账号最佳实践指南)
前端·git·ssh
多啦C梦a8 小时前
《双Token机制?》Next.js 双 Token 登录与无感刷新实战教程
前端·全栈·next.js
该用户已不存在8 小时前
拒绝无效内卷,这 7 个 JavaScript 库让代码更能打
前端·javascript·后端
json{shen:"jing"}8 小时前
06_事件处理
前端·javascript·html
Awu12278 小时前
⚡全局自动化:我用Vite插件为所有CRUD组件一键添加指令
前端·vite·前端工程化
aircrushin8 小时前
Claude Code 新标准:三分钟了解什么是 Agent Skills?
前端·人工智能