Url参数中数组参数,需要在参数名后面加中括号[]吗

如题,在URL传参中,如果需要传一个数组参数,需要在参数名后面加中括号“[]”吗?以前我一直以为必须加中括号,但我使用js的URLSearchParams对象生成queryString的时候,它是不带中括号“[]”,如下图:

img

在Node环境中使用querystring模块是这样的:

img

在Axios上,我看它源代码是先判断是否有自定义序列化方法,再判断参数是否是URLSearchParams实例,如果两者都不是,就自行序列化query对象,它序列化时,如果是数组则在参数名后加中括号“[]”,代码如下:

img

在VueRouter中,使用query,值为数组时,它转化为query字符串时也是不带中括号的。

以前记忆中好像是需要加中括号的,现在想要弄明白,这个是如何规定的,是否有一个规范?请大家帮忙解答,谢谢!

jquery数组默认是加括号,除非修改过traditional配置为true

加不加括号得看服务器端语言,比如php服务端要得到数组对象,需要加括号

没加只得到最后一个a的参数值

img

加括号后是数组

img