【问题标题】:Is there a way to merge get parameters? - HTML/Javascript有没有办法合并获取参数? - HTML/Javascript
【发布时间】:2011-03-19 11:17:39
【问题描述】:

我经常发现自己对简单的事情感到惊讶,我不确定,但我相信这可能就是其中之一。

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

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

例如,我可能有一个如下所示的 URL

http://www.example.org/ninja_search/?speed__gt=5&night_sight=1&page=1

如何将此类 URL 与 page=2 合并,用新值替换 1? javascript是唯一的选择吗?

?speed__gt=5&night_sight=1&page=1 + page=2 = ?speed__gt=5&night_sight=1&page=2

谢谢:)

【问题讨论】:

    标签: javascript html get http-get


    【解决方案1】:

    解决方案是使用[] 从参数显式创建一个数组,前提是您的服务器端语言支持它:

    ?speed__gt=5&night_sight=1&page[]=1&page[]=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&page=1&page=2

    服务器上page 的值将是 2,因为最后给出的值优先。

    【讨论】:

    • 嗨@Andy!谢谢,顺便说一句,我正在考虑更多关于删除旧页面值。
    • @RadiantHex:哦,对不起 :-) 我在回答中添加了更多信息。
    • 好的,非常感谢安迪! =) 我猜没有办法从字面上删除以前的参数吗?无论如何,反应很好,我打勾!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多