使用 angularjs 重定向到相同的 URL 无查询参数
Redirect to the same URL sans query parameters using angularjs
我按如下方式加载密码重置应用程序 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();
要删除 URL 参数,请使用
$location.url($location.path());
或者您可以简单地使用它来删除所有参数
$location.search({});
试试这个
window.location.href="your path";
我按如下方式加载密码重置应用程序 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();
要删除 URL 参数,请使用
$location.url($location.path());
或者您可以简单地使用它来删除所有参数
$location.search({});
试试这个
window.location.href="your path";