例如,从 URL 读取和处理查询字符串值后
http://myurl.com/#/?foo=baa
我可以将网址更改为
http://myurl.com/#/?foo=
通过使用
$location.search('myQueryStringParameter', '');
如何完全摆脱查询字符串(没有显式重定向或服务器端操作等),以便只有
http://myurl.com/#/
留在浏览器中?它应该相当简单,但我找不到任何参考。
你很接近,你需要设置 null
$location.search('myQueryStringParameter', null);
来自 ng.$location 文档
如果搜索是字符串,则 paramValue 将仅覆盖单个搜索参数。如果 paramValue 是一个数组,它将参数设置为逗号分隔的值。如果参数值为空,则将删除该参数。
试试这个:
$location.url($location.path())
有关详细信息,请参阅文档。
最简单的解决方案是在 $location.url 中执行与 internaly 相同的操作
$location.search('')
试试这个
$location.url('/');
有关详细信息,请参阅文档。