我想在不刷新页面的情况下向url添加参数。我使用了history.pushState
和history.replaceState
。我在javascript中对函数进行了调试,当我调试history.pushState
时,它会替换url,但之后它再次更改为上一个。
我想要的是,例如下面是我的网址
.../?id=1
现在我将点击我的一个过滤器,网址必须如下
.../?id=1,2
然后我会点击Search
按钮来应用过滤器。什么应该是最佳做法?
答案 0 :(得分:0)
这是一个很好的例子:
https://css-tricks.com/snippets/javascript/get-url-and-url-parts-in-javascript/
您可以在过滤器命令中使用,例如:onchange, onclick
等,以便即时修改网址
答案 1 :(得分:0)
您可以使用以下代码添加参数而无需刷新:
window.history.replaceState(null, null, "?param1=value");
答案 2 :(得分:-2)
最好在应用过滤器之前不要更改您的网址。 将过滤器参数保存在某个对象中,并在用户单击提交后更改URL