我目前在使用angular-http-auth库时遇到问题,该库处理来自 event:auth-loginRequired 事件的状态转换。我正在使用angular-ui-router作为我的路由系统。
无论如何,这里有一些来自库的发出事件的代码:
case 401:
var deferred = $q.defer();
httpBuffer.append(config, deferred);
$rootScope.$broadcast('event:auth-loginRequired', rejection);
return deferred.promise;
我正在使用 myApp.run
中的这些代码捕捉事件$rootScope.$on('event:auth-loginRequired', function(){
console.log('Token Invalid / Expired');
$state.transitionTo('login');
});
我能够在我的控制台中获得'令牌无效/过期' 。但是,状态转换根本不起作用,我的控制台上也没有出现任何错误。我尝试过使用 $ location.path(' / login'),但它也没有用。
有人可以帮我解决这个问题吗?任何形式的帮助都非常感谢。谢谢!
答案 0 :(得分:0)
[更新 - 已解决]
抱歉,我认为我找到了解决方案,它不是因为转换在Angular活动中无效,但是我太愚蠢了,以至于我自己有一个event.preventDefault()处理,只要应用程序试图重定向到登录状态(我试图在应用程序捕获事件时重定向),如果还有一个令牌,那么浏览器的cookie。我很抱歉这个问题。
再次感谢您试图帮助我!