2016-11-28 16 views
2

私はangular2 HTTPレスポンスに問題があります。angular2エラーを待つhttp応答

私のコンポーネントでエラーをキャッチしたいです。

私のアプリはどのように動作しますか? は私のコンポーネントでは、私は個人的なサービスで関数を呼び出します。私のサービスで

var response = this.apiUser.login(username, password); 
alert(response); 

は、私が認証を試みる:

this.http.post(this.httpApiAdress + '/' + this.httpUserAutenticate, body, { headers: contentHeaders }) 
      .subscribe(
       response => { 
        localStorage.setItem('id_token', response.json().token); 
        this.router.navigate(['home']); 
       }, 
       error => { 
        return error.json(); 
       }, 
       () => { } 
      ); 

認証がOKである、すべての作業罰金。しかし、Authが失敗すると、私は自分のコンポーネントでレスポンスをキャッチできません。 (http呼び出し前にアラートが実行されているため、未定義です...)

お願いします。 (それはすべてのコードがコンポーネント内にあるときに機能していましたが、私のコードを伝えたい...)

Ty。

+0

私はしてみてください「の下のコードを到着したとき、あなたがコードを実行する場所を購読使用、代わりにsubscribe()

return this.http.post(this.httpApiAdress + '/' + this.httpUserAutenticate, body, { headers: contentHeaders }) .map( response => { localStorage.setItem('id_token', response.json().token); this.router.navigate(['home']); }, ); 

map()を使用して観察できるとto auth "は' apiUser.login(){...} 'にありますか? –

答えて

1

戻り応答またはエラーが

var response = this.apiUser.login(username, password) 
    .subscribe(
     response => alert(response), 
     error => alert(error), 
    ); 
+1

あなたは男です!私は3時間後にこれをやろうとしました...そして、ここに来ました...タイメイト! – user3402182

関連する問題