是否存在经过查询字符串传递数组的标准方法? html
须要明确的是,我有一个带有多个值的查询字符串,其中一个是数组值。 我但愿将该查询字符串值视为一个数组-我不但愿该数组爆炸,以使其与其余查询字符串变量没有区别。 数组
另外,根据该帖子的答案 ,做者建议未定义对数组的查询字符串支持。 这个准确吗? 浏览器
编辑: 服务器
根据@Alex的答案,没有标准的方法能够执行此操做,所以个人后续工做是什么才是识别我正在读取的参数同时是PHP和Javascript数组的简单方法? app
用相同的名称命名多个参数是否能够接受,这样我就知道它们属于数组? 例: 测试
?myarray=value1&myarray=value2&myarray=value3...
仍是这是很差的作法? ui
我以为这对于但愿将查询字符串中的数组传递给servlet的人颇有帮助。 我在查询字符串下面进行了测试,并可以使用req.getgetParameterValues();获取数组值。 方法。 如下是我经过浏览器传递的查询字符串。 编码
http://localhost:8080/ServletsTutorials/*.html? myname=abc&initial=xyz&checkbox=a&checkbox=b
复选框是个人参数数组。 spa
您在问题中提到了PHP和Javascript,但在标记中却没有说起。 我达到此问题的目的是将数组传递给MVC.Net操做。 code
我在这里找到了问题的答案:预期的格式是您在问题中建议的格式,其中多个参数具备相同的名称。
这对我有用:
在连接中,to属性具备值:
to="/filter/arr?fruits=apple&fruits=banana"
路线能够处理此问题:
path="/filter/:arr"
对于多个数组:
to="filter/arr?fruits=apple&fruits=banana&vegetables=potato&vegetables=onion"
路线保持不变。
屏幕截图
我使用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
查询字符串携带文本数据,所以别无选择,只能展开数组,对其进行正确编码,而后以您选择的表明性格式传递它:
p1=value1&pN=valueN...
data=[value1,...,valueN]
data={p1:value1,...,pN:valueN}
而后在服务器端代码中对其进行解码。