21

例如,在从 URL 读取和处理查询字符串值之后

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

我可以将网址更改为

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

通过使用

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

我如何完全摆脱查询字符串(没有明确的重定向或服务器端操作等),这样只有

http://myurl.com/#/

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

4

4 回答 4

45

你很接近,你需要设置 null

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

来自ng.$location 文档

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

于 2013-11-10T08:38:35.537 回答
26

试试这个:

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

有关更多信息,请参阅文档

于 2013-09-16T16:50:37.563 回答
9

最简单的解决方案是在 $location.url 中执行与 internaly 相同的操作

$location.search('')
于 2015-05-21T07:55:12.613 回答
-2

试试这个

$location.url('/');

有关更多信息,请参阅文档

于 2014-08-06T11:12:58.553 回答