有没有办法合并获取参数? - HTML / Javascript

时间:2010-07-22 10:00:56

标签: javascript html get http-get

我经常发现自己对简单的事情表示赞同,我不确定,但我相信这可能就是其中之一。

通常我发现自己需要合并获取属性,尤其是在网站内的过滤器和搜索页面中。这有时非常复杂,因为您可能想要动态删除和添加参数。

这样做的简单方法是使用表单,但是当添加不属于表单的元素时,这会变得复杂。例如分页

例如,我可能有一个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 < /强>

谢谢:)

1 个答案:

答案 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,因为给定的最后一个值优先。