$location.search()
设置网址
传递给search()
的搜索参数由表单设置。选择和取消选择元素会导致某些参数值为“null”,因此网址如下所示:
myapp.com/search?type=text¶meter=null
所以我想从网址中删除那些“null”参数。在文档中,有一个“paramValue”可以作为第二个参数传递给.search(search,paramValue):如果值为null
,则参数将被删除。
但我不能做这项工作......有什么建议吗?
编辑:这是基于@BKM解释的解决方案
要删除null
的所有参数,必须循环遍历所有参数并测试每个参数,如下所示:
for (var i in search) {
if (!search[i]) $location.search(i, null);
}
$location.search(search);
答案 0 :(得分:94)
使用$location
服务,您可以通过为其分配空值来删除搜索参数:
如果您的参数为null,在您的情况'parameter'
中,您可以通过为其指定空值来将其从网址中删除;
$location.search('parameter', null);
希望它有所帮助。
答案 1 :(得分:30)
您可以使用$location.search({})
一次清除所有内容。
答案 2 :(得分:-1)
你也可以这样做:
var search = $location.search();
if (search.parameter == 'null') {
$location.search({'parameter': null});
}