1

私は現在、angular-http-authというイベントからの状態遷移を処理しているライブラリを使用している問題を抱えています:のイベント:イベントです。私は私のルーティングシステムにangular-ui-routerを使用しています。

とにかくここにイベントを発行ライブラリーからのコードのいくつかの作品だ:私は

$rootScope.$on('event:auth-loginRequired', function(){ 
    console.log('Token Invalid/Expired'); 
    $state.transitionTo('login'); 
}); 

case 401: 
    var deferred = $q.defer(); 
    httpBuffer.append(config, deferred); 
    $rootScope.$broadcast('event:auth-loginRequired', rejection); 
    return deferred.promise; 

そして、私はmyApp.run内のコードのこれらの部分でのイベントをキャッチされました私のコンソールの中でトークンが無効/期限切れになったを得ることができました。しかし、状態遷移はまったく機能しませんでした。私はコンソール上でエラーも出ませんでした。私は$ location.path( '/ login')を使用しようとしましたが、動作しません。

解決方法を教えてもらえますか?どんな種類の助けも本当に感謝しています。ありがとう!

+0

'$ state.transitionTo'の代わりに' $ state.go'を使用してみてください。私はそれが同じだと信じていますが、デフォルトでいくつかのパラメータを設定しています。 http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.$state – glcheetham

+0

お返事ありがとうございます!私もそれを試みましたが、それはまだ動作しません:( –

答えて

0

は[UPDATE - 解決しよう]

申し訳ありませんが、私はが見つけた私は解決策は、それが原因でアンギュライベント内部移行んではない作品ではないのですが、私はその私自身とても愚かだったと思いますブラウザのCookie内にまだトークンがある場合、アプリケーションがログイン状態にリダイレクトしようとしたときにevent.preventDefault()を処理する必要があります(アプリケーションがイベントをキャッチしたときにリダイレクトしようとしていました)。私はそのことについてとても残念です。

もう一度お手伝いをしていただきありがとうございます。

関連する問題