删除AngularJS中的查询字符串

时间:2013-09-16 16:39:07

标签: angularjs query-string

从URL中读取并处理查询字符串值后,例如

http://myurl.com/#/?foo=baa

我可以将网址更改为

http://myurl.com/#/?foo=

使用

$location.search('myQueryStringParameter', '');

如何完全摆脱查询字符串(没有显式重定向或服务器端操作等),只有

http://myurl.com/#/

仍然在浏览器中?它应该相当简单,但我找不到任何参考。

4 个答案:

答案 0 :(得分:39)

你很接近,你需要设置null

$location.search('myQueryStringParameter', null); 

来自ng.$location documentation

  

如果search是字符串,则paramValue将仅覆盖单个搜索参数。如果paramValue是一个数组,它会将参数设置为逗号分隔值。 如果paramValue为null,则该参数将被删除。

答案 1 :(得分:25)

试试这个:

$location.url($location.path())

有关详细信息,请参阅documentation

答案 2 :(得分:6)

最简单的解决方案是在$ location.url中执行相同的内容

$location.search('')

答案 3 :(得分:-2)

试试这个

$location.url('/');

有关详细信息,请参阅documentation