2016-09-18 5 views
1

私は500 errorレスポンスを返すURLにhttp要求をしています(これは予想される動作です)。しかし、これはエラー関数の代わりに成功関数に取り込まれるエラーです。Javascript http成功関数取得エラー応答

$http.get("myUrl") 
    .then(function (response) { 
     console.log(response); 
    } 
    .function (error) { 
     // Handle error here 
    }); 

これを理解し、これを正しく使用する方法を理解してください。

+1

あなたはどのライブラリを使用していますか?それは '' .error(function()...) 'ではありませんか? – Barmar

+0

@Barmar "... then(...)。エラーは関数ではありません"これは私が今得ているエラーです –

+0

これはどのライブラリですか? jQueryではありません。それは角度ですか? – Barmar

答えて

0

問題を引き起こしていたアプリケーションにインターセプターがありました。 すべてのエラー応答が傍受され、ステータスなしで返されました。以下はコードです。

return { 
     'responseError': function(config) { 

      if(config.status===401){ 
       //Do Something 

       return config; 
      } 

      return config; 
     } 
    } 

返信文をreturn $q.reject(config);に変更すると、正しいステータスが返されます。

1

それはどちらかでなければなりません:

$http.get("myUrl") 
    .then(function (response) { 
     console.log(response); 
    } 
    ,function (error) { 
     // Handle error here 
    }); 

それとも

$http.get("myUrl") 
    .then(function (response) { 
     console.log(response); 
    }) 
    .catch (function(error) { 
     // Handle error here 
    }); 
+0

内部サーバーエラーがまだ最初の関数にあります –

+0

REST APIがステータスを500に戻していますか?あなたはAjaxが呼び出す角度のインタセプターを持っていますか? – Developer

+0

はい。今問題が解決されました。 –

1

これはangulars $ HTTP、このようなものになるはずですされている場合:あなたは2つの機能が欲しい

$http.get("myUrl") 
    .then(
    function (response) { 
     console.log(response); 
    }, 
    function (error) { 
     // Handle error here 
    } 
); 

then()へのあなたの議論として。最初はsuccessCallback、2番目はerrorCallbackです。

代わりに、promise chainにcatch()を追加することもできます。これは読みやすく、あなたのようなエラーを防止します。

関連する問題