2016-04-05 22 views
0

私はAngularJSを使用してTOMCATサーバーにPOSTリクエストを行っています。以下はそのコードのスニペットです。サーバーダウンリクエスト(AngularJS)を処理する方法

これは、サーバーが起動して実行中であれば正常に動作します。応答にエラーが発生した場合は、$scope.error変数にエラーメッセージが入力されます。ただし、サーバーがダウンしている場合、この要求を行うリンクをクリックするとページに何も表示されませんが、ブラウザのコンソールにしかエラーが表示されません。

このエラーをページに表示するにはどうすればよいですか?私は何とかサーバーがダウンしていることをユーザーに通知したいと思います。 docsについて

答えて

1

200と299の間で応答ステータスコードが成功ステータスとみなされ、呼び出される成功コールバックになります。

つまり、エラーハンドラが呼び出されると、応答オブジェクトのstatusプロパティをチェックすることができます。 400または500の範囲の値は、サーバーが要求を処理できない問題を示します。自分でサーバーを構成する場合は、独自のエラーコードを作成してクライアント側で解釈することができます。

$http(<myRequest>).then(function success (response) { 
     $scope.info = response.data; 
    }, function error (response) { 
     if (response.status === <server is down http status>) { 
      //do something here 
      $scope.error = "server is down msg"; 
     } 
     else { 
      $scope.error = response.data; 
     } 
    }); 

私は私のステータスコード-1を与え、存在しないサーバーにデータを投稿してみました。サーバーがダウンしている場合は、この値をチェックする必要があります。

編集:役に立つことができ、あなたの応答内のstatusTextプロパティもあります:)

+0

サーバーがダウンしたときに、私は、** Tomcat8(デフォルト設定)と**ステータスコードで試してみましたが、0おかげで! –

+0

うれしい私はあなたを助けることができます:) – Fidel90

関連する問題