ログインに成功した後にユーザーをリダイレクトしようとしています。ログイン後に角2がリダイレクトされない
login(event) {
event.preventDefault();
this.error = '';
this.loading = true;
this.authenticationService.login(this.user.email, this.user.password)
.subscribe(result => {
if (!result) {
this.loginError();
return;
}
this.loginSuccess();
},
err => {
this.loginError();
});
}
authenticationService.login()メソッドはHTTP POSTを行います。 LOGINSUCCESS()メソッドは、このいずれかになります。
private loginSuccess() {
this.router.navigate(['/app/dashboard']);
}
この問題は、私は再度ログインしようとした場合、それはリダイレクト一度非同期メソッドと関連する何かようです。しかし、私が知る限り、router.navigateは要求が返った後にだけ呼び出されます。
router.navigate()はZoneAwarePromisseオブジェクトを返します。それが成功したオブジェクトがどのように見えるリダイレクトする場合:
__zone_symbol__state:true
__zone_symbol__value:false
(1)ブラウザの開発環境のネットワークトラフィックタブでサーバーの応答を調べてみましたか? (2)a)成功関数が毎回呼び出され、b)すべてのインスタンスで結果オブジェクトが正しく構成されていること、およびc)エラー関数が実行されていないことを検証するためにconsole.log()ステートメントを挿入しましたか?私はあなたがこれを解決するのを助けることに非常に興味があります、私に上記を知らせてください。 –