1

我目前在使用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'),但它也不起作用。

谁能帮我解决问题?任何形式的帮助都非常感谢。谢谢!

4

1 回答 1

0

[更新 - 已解决]

抱歉,我想我找到了解决方案这不是因为转换在 Angular 事件中不起作用,而是我太愚蠢了,每当应用程序尝试重定向到登录状态时,我自己都有一个 event.preventDefault() 处理(当应用程序捕获事件时我试图重定向)如果浏览器的 cookie 中仍然有一个令牌。我很抱歉这个问题。

再次感谢您尝试帮助我!

于 2016-03-31T08:21:51.287 回答