2016-12-06 18 views
0
function registrationSave(data){ 
      return $http({ 
       method: 'POST', 
       url: 'registration/save', 
       data: data 
      }).then(function(response){ 
       console.log("@@@1 "+JSON.stringify(response)); 
      },function(error){ 
        console.log("@@@2"+JSON.stringify(error)); 
        return error.data; 
      }).catch(function (data) { 
       // Handle error here 
      }); 
    }; 

この作業ではない角度jsの中のエラー処理は、エラーの場合のサービスのためのサーバーの応答である

//サーバー応答400エラークライアントの場合

{ 
    "code": 400, 
    "message": "Failled with registration Id 1,341.", 
    "result": "False" 
} 

コード応答は定義されていませんか?クライアントコードのエラーセクションには決して行きません。

なぜそうですか?

これはインターセプタでは、400の場合は

/** 
     * To handle error response. 
     */ 
     function responseError(error) { 
       if (error.status === 401 || error.status === 403) { 
        if(error.data != null && error.data.code === 401){ //access denied error 
         toaster.error('Access denied', 'User does not have privilege'); 
        } 
       } 

     } 

を使用し、私はここの方法に戻りことはできますか?

+0

あなたは正しいデータを渡していないか、IDが間違っているか、それは400の悪い要求を示している –

+0

私はサーバー側から送信していますが、クライアントは未定義として受信しています – user630209

+1

アプリケーションにインターセプタがありますか? –

答えて

0

HTTPステータスコードが200〜299の場合、$httpの成功関数が呼び出されます。それ以外の場合はエラー関数が呼び出されます。サーバーから返されたHTTPステータスコードは200で、メッセージ本体のcodeフィールドは400です。成功関数ではreturnはありません。未定義です。ブラウザのコンソールで@@@ 1を確認すると、これが起きているかどうかを確認できます。ブラウザのデベロッパーツールの[ネットワーク]タブでは、HTTPステータスコードを確認して、それが200と299の間であるかどうかを確認することもできます。

+0

ステータスコード:400、それは400です。これを変更する必要がありますか? – user630209

+0

エラーが呼び出されるとき、どのステータスコードの範囲ですか? – user630209

+0

ブラウザのコンソールに、@@@ 1が表示されますか? 'console.log( '@@@ 3')'を 'catch'関数に追加すると、@@@ 1、@@@ 2、または@@@ 3のいずれかが表示されます。 –

関連する問題