我为密码重置加载应用程序URL,如下所示:
http://localhost/myapp/#/login?resetcode=944F1WO71BU32
成功重置后,我想重定向到同一页面上的登录组件,但URL应为: http://localhost/myapp/#/login
我尝试使用$window.location.reload();
和$location.path('/my/path').search({});
,但这不起作用。它仍然显示带有查询字符串的url。
vm.resetpassword = function () {
$scope.errorMessage = '';
var changePasswordModel = new SetPasswordModel();
changePasswordModel.resetcode = $route.current.params.resetcode;
changePasswordModel.newpassword = vm.password;
changePasswordModel.confirmpassword = vm.retypepassword;
if (vm.password.length >= 8 && common.isPasswordValid(vm.password))
{
security.resetPassword(changePasswordModel)
.then(function () {
$scope.message = "Updating Password...";
$timeout(function () {
$location.search({});
}, 3000);
}, function (err) {
$scope.errorMessage = err.ModelState.Error[0];
});
} else {
$scope.showPasswordPolicy = true;
}
};
解决方案:
var url = $location.search({});
window.location.href = url.absUrl();
答案 0 :(得分:0)
要删除网址参数,请使用
$location.url($location.path());
或者你可以简单地用它来删除所有参数
$location.search({});
答案 1 :(得分:0)
试试这个
window.location.href="your path";