2016-05-17 9 views
0

Angularjsのインターセプタを使用して、私は質問があります。私はステータス403を制御する必要がありますが、私のアプリケーションでは、APIが403を返すときに、アプリケーションはログアウトします。 APIは特別な場合に403を返します。私はインターセプターがログアウトをして、APIが返す属性をいつ見つけることができるのか分からないことを望んでいません。インターセプタの応答を制御する方法

responseError: function(rejection) { 

    if (rejection.status === 0) { 
     //some stuff 
    } 
    else if (rejection.status === 401 || rejection.status === 403){ 
     $injector.get("Service").logout(); 
    } 

APIが拒否オブジェクトに返す属性を取得できますか?

答えて

1

コンソールでrejectionオブジェクトを見れば、あなたはそれを見ることができますが、私は/ API /メソッド/ 108へのPOSTを送信すると、私はエラーを取得する場合は、APIレスポンス

responseError: function(rejection) { 

    console.log(rejection.data) //API response data 

    if (rejection.status === 0) { 
     //some stuff 
    } 
    else if (rejection.status === 401 || rejection.status === 403){ 
     $injector.get("Service").logout(); 
    } 
+0

であるdataプロパティを返します。エラーメッセージから108を得ることはできますか?それとも自分でそれを保存しなければならないのですか? –

+1

はいリクエストデータを 'rejection.config.data'として取得し、url' rejection.config.url'をリクエストすることができます – aseferov

関連する問題