java 传递字符串数组_如何在查询字符串中传递数组?

是否存在通过查询字符串传递数组的标准方法?

需要明确的是,我有一个带有多个值的查询字符串,其中一个是数组值。 我希望将该查询字符串值视为一个数组-我不希望该数组爆炸,以使其与其他查询字符串变量没有区别。

另外,根据该帖子的答案 ,作者建议未定义对数组的查询字符串支持。 这个准确吗?

编辑:

根据@Alex的答案,没有标准的方法可以执行此操作,因此我的后续工作是什么才是识别我正在读取的参数同时是PHP和Javascript数组的简单方法?

用相同的名称命名多个参数是否可以接受,这样我就知道它们属于数组? 例:

?myarray=value1&myarray=value2&myarray=value3...

还是这是不好的做法?

#1楼

我觉得这对于希望将查询字符串中的数组传递给servlet的人很有帮助。 我在查询字符串下面进行了测试,并能够使用req.getgetParameterValues();获取数组值。 方法。 以下是我通过浏览器传递的查询字符串。

http://localhost:8080/ServletsTutorials/*.html?

myname=abc&initial=xyz&checkbox=a&checkbox=b

复选框是我的参数数组。

#2楼

您在问题中提到了PHP和Javascript,但在标记中却没有提及。 我达到此问题的目的是将数组传递给MVC.Net操作。

我在这里找到了问题的答案:预期的格式是您在问题中建议的格式,其中多个参数具有相同的名称。

#3楼

这对我有用:

在链接中,to属性具有值:

to="/filter/arr?fruits=apple&fruits=banana"

路线可以处理此问题:

path="/filter/:arr"

对于多个数组:

to="filter/arr?fruits=apple&fruits=banana&vegetables=potato&vegetables=onion"

路线保持不变。

屏幕截图

ub7UM.png

#4楼

我使用React和Rails。 我做了:

js

let params = {

filter_array: ['A', 'B', 'C']

}

...

//transform params in URI

Object.keys(params).map(key => {

if (Array.isArray(params[key])) {

return params[key].map((value) => `${key}[]=${value}`).join('&')

}

}

//filter_array[]=A&filter_array[]=B&filter_array[]=C

#5楼

查询字符串携带文本数据,因此别无选择,只能展开数组,对其进行正确编码,然后以您选择的代表性格式传递它:

p1=value1&pN=valueN...

data=[value1,...,valueN]

data={p1:value1,...,pN:valueN}

然后在服务器端代码中对其进行解码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值