与$ location.search():如何从url中删除参数,当它为null
$location.search()
来设置一个url
传递给search()
的search参数由表单设置。 select和取消select一个元素会导致一些参数值为“null”,所以url看起来像这样:
myapp.com/search?type=text¶meter=null
所以我想从url中删除这些“空”参数。 在文档中,有一个“paramValue”,它可以作为第二个parameter passing给.search(search,paramValue): 如果该值为null
,则该参数将被删除。
但我不能做这个工作…任何build议?
编辑:这里是基于@BKM解释的解决scheme
要删除每个null
参数,有必要遍历所有的参数,并testing每个参数,如下所示:
for (var i in search) { if (!search[i]) $location.search(i, null); } $location.search(search);
使用$location
服务,可以通过分配一个空值来删除search参数:
在你的参数为null的情况下,在你的情况下'parameter'
你可以通过分配给它一个空值,如:
$location.search('parameter', null);
希望能帮助到你。
您可以使用$location.search({})
一次性清除所有内容。
你也可以这样做:
var search = $location.search(); if (search.parameter == 'null') { $location.search({'parameter': null}); }