删除 AngularJS 中的查询字符串



例如,从 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('/');

有关详细信息,请参阅文档。

最新更新