使用$ window或$ location在AngularJS中重定向
我正在使用的应用程序包含各种状态(使用ui-router),其中某些状态要求您登录,而其他状态则公开可用。 我创建了一种方法,可以有效地检查用户是否已登录,当前遇到的问题实际上是在必要时重定向到我们的登录页面。应该注意的是,登录页面当前未放置在AngularJS应用程序中。 app.run(function ($rootScope, $location, $window) { $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) { if (toState.data.loginReq && !$rootScope.me.loggedIn) { var landingUrl = $window.location.host + "/login"; console.log(landingUrl); $window.open(landingUrl, "_self"); } }); }); console.log会正确显示预期的URL。之后的那一行,我几乎尝试了从$ window.open到window.location.href的所有操作,无论我尝试了什么,都不会发生重定向。 编辑(已解决): 找到了问题。 var landingUrl = $window.location.host + "/login"; $window.open(landingUrl, "_self"); 变量LandingUrl设置为'domain.com/login',它与$ window.location.href一起不起作用(这是我尝试过的事情之一)。但是将代码更改为 var landingUrl = "http://" …