Javascript 在不刷新的情况下向url添加参数

Javascript 在不刷新的情况下向url添加参数,javascript,jquery,Javascript,Jquery,我想在不刷新页面的情况下向url添加参数。我使用了history.pushState和history.replaceState。我在javascript中的函数上放置了一个调试器,当我调试history.pushState时,它会替换url,但随后它会再次更改为上一个url 我想要的是,例如,下面是我的url .../?id=1 现在我将点击我的一个过滤器,url必须如下 .../?id=1,2 然后我将单击搜索按钮应用过滤器。最佳做法是什么?最好在应用过滤器之前不要更改URL。 在某些对象

我想在不刷新页面的情况下向url添加参数。我使用了
history.pushState
history.replaceState
。我在javascript中的函数上放置了一个调试器,当我调试
history.pushState
时,它会替换url,但随后它会再次更改为上一个url

我想要的是,例如,下面是我的url

.../?id=1
现在我将点击我的一个过滤器,url必须如下

.../?id=1,2

然后我将单击
搜索
按钮应用过滤器。最佳做法是什么?

最好在应用过滤器之前不要更改URL。
在某些对象中保存筛选参数,并在用户单击“提交”后更改URL。下面是一个很好的示例:


您可以在筛选器命令中使用:
onchange、onclick
等。要即时修改URL

您可以使用以下代码添加参数而无需刷新:

window.history.replaceState(null, null, "?param1=value");

你能发布一个带有相关代码的代码片段吗?最好的做法是不要试图让浏览器做它设计不应该做的事情。单击搜索按钮时更改Url。可能的重复内容应为注释。