我经常发现自己对简单的事情表示赞同,我不确定,但我相信这可能就是其中之一。
通常我发现自己需要合并获取属性,尤其是在网站内的过滤器和搜索页面中。这有时非常复杂,因为您可能想要动态删除和添加参数。
这样做的简单方法是使用表单,但是当添加不属于表单的元素时,这会变得复杂。例如分页
例如,我可能有一个URL,例如以下
http://www.example.org/ninja_search/?speed__gt=5&night_sight=1&page=1
如何将此类URL与page = 2合并,用新值替换1? javascript是唯一的选择吗?
?speed__gt = 5&amp; night_sight = 1&amp; page = 1 + page = 2 =?speed__gt = 5&amp; night_sight = 1&amp; page = 2 < /强>
谢谢:)
答案 0 :(得分:3)
解决方案是使用[]
从参数中显式创建数组,只要您的服务器端语言支持它:
speed__gt = 5&安培; night_sight = 1 &安培;页[] = 1&安培;页[] = 2
例如,如果您的服务器端语言是PHP,$_GET['page']
现在将返回一个数组,其中第一个元素为1,第二个元素为2。
您也可以在表单中使用此技术,方法是将其应用于name
属性:
<form id="myform">
<input type="hidden" name="page[]" value="1" />
<input type="hidden" name="page[]" value="2" />
</form>
如果您正在谈论添加第二个参数并忽略第一个参数,那么无论如何都会发生这种情况 - 第二个提供的参数将覆盖第一个参数。假设
speed__gt = 5&安培; night_sight = 1&安培;页= 1&安培;页= 2
服务器上page
的值为2,因为给定的最后一个值优先。