更改查询字符串而不重新加载/刷新[重复]
Posted
技术标签:
【中文标题】更改查询字符串而不重新加载/刷新[重复]【英文标题】:Change querystring without reloading/refreshing [duplicate] 【发布时间】:2016-06-16 10:23:04 【问题描述】:我想在不刷新页面的情况下更改我的点击网址。例如我的网址是http://test.com?search=test
当我点击搜索页面上的任何过滤器值(如“类别”)时,我的 URL 应该是:
http://test.com?search=test$category=cat1
当我点击另一个类别时,它应该是:
http://test.com?search=test&category=cat1,cat2
当我点击一个品牌时,URL 应该是:
http://test.com?search=test$category=cat1,cat2&brand=br1
当我取消选择一个类别时,URL 应该是:
http://test.com?search=test$category=cat2&brand=br1
请帮帮我。
【问题讨论】:
你在使用 ui-router 吗? 不,我没有使用 ui-router 我也有同样的问题。阅读this。 【参考方案1】:你可以通过history api改变它
window.history.pushState("object or string", "Title", "/new-url");
在这种情况下,相对 /new-url 将设置为新标题。您可以在控制台中进行试验。如果你在 ***.com 上输入这个,url 会神奇地变成https://***.com/new-url
【讨论】:
这不是真的。您可以:html5 History API。 @Vohuman 绝对正确! 我认为从角度来说,为了激活 HIstory API,应该使用$locationProvider
服务,它是.html5Mode(true)
方法。以上是关于更改查询字符串而不重新加载/刷新[重复]的主要内容,如果未能解决你的问题,请参考以下文章