是否有通过查询字符串传递数组的标准方法?
明确起见,我有一个具有多个值的查询字符串,其中一个值将是数组值。我希望查询字符串值被视为数组-我不希望数组被分解,以便它与其他查询字符串变量难以区分。
另外,根据这篇文章的回答,作者建议不定义对数组的查询字符串支持。这准确吗?
编辑:
基于@Alex的回答,没有标准的方法来做到这一点,所以我的后续是什么是一个简单的方法来识别我正在阅读的参数是一个数组在PHP和Javascript?
将多个参数命名为相同的名称是否可以接受,这样我就知道它们属于一个数组?例子:
?myarray=value1&myarray=value2&myarray=value3...
或者这是一种不好的做法?
这对我来说很管用:
在link中,to属性具有值:
to="/filter/arr?fruits=apple&fruits=banana"
Route可以处理这个:
path="/filter/:arr"
对于多个数组:
to="filter/arr?fruits=apple&fruits=banana&vegetables=potato&vegetables=onion"
路线不变。
截图
更新:
为了实现这种字符串结构,query-string是最好的包。
例如:
import { stringify, parse } from 'query-string';
const queryParams={
fruits:['apple','banana'],
vegetables:['potato','onion']
}
//arrayFormat can be bracket or comma
stringify(queryParams, { arrayFormat: 'bracket' });