我正在使用
$location.path('/login');
如果用户未登录,则重定向回登录页面,或者通常使用此方法在任何地方重定向。但是,如果我已经有一个看起来像这样的网址
/register/final-step?token=mF6xY2cQvB9Vccb0J1l5uTu4H10lWkkf
并重定向到
$location.path('/');
然后搜索参数不会被清除,所以我得到一个像这样的网址
/?token=mF6xY2cQvB9Vccb0J1l5uTu4H10lWkkf
即使我使用UI-Router&#39>
$state.go('home');
?token=mF6xY2cQvB9Vccb0J1l5uTu4H10lWkkf
部分仍在那里。
我不明白。每次我需要去另一个州或网址时,我是否真的需要手动清除参数?这似乎不太好
我是合法的。我做错了什么?我不想做window.location.href
,因为这会导致整页重新加载,这不是我想做的事情。
如何清除参数?我一定是做错了。
答案 0 :(得分:10)
?
之后的网址部分称为search
(在角度中 - 在其他方面,它可能被称为query
)。您只处理path
,这是?
之前的部分。
您可以像这样使用它(是的,它的用途不仅仅是搜索......但在此上下文中它的名称)。
// Get the current value
var curr_search = $location.search();
// Clear the current search
$location.search({});
// Set the current search values
$location.search({key: "value"});