使用angularjs重定向到相同的URL sans查询参数

时间:2018-04-18 07:05:02

标签: angularjs routing query-string

我为密码重置加载应用程序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();

2 个答案:

答案 0 :(得分:0)

要删除网址参数,请使用

$location.url($location.path());

或者你可以简单地用它来删除所有参数

$location.search({});

答案 1 :(得分:0)

试试这个

window.location.href="your path";