web-dev-qa-db-ja.com

Angular $ httpエラーのコンソールトレースを回避する

私のアプリケーションでは、REST apiを使用してデータを取得しています。このようなリクエストを送信した場合

$http.get('api/entity/' + $scope.entityId).success(/* DO STUFF */).error(/* DO STUFF */)

サービスでは、entityIdが存在しない場合は404を返します。エラー関数では、ステータス(2番目のパラメーター)を使用してキャッチし、適切な方法で処理します。

angular例外をスローしてjavascriptコンソールを汚染する場合。これはAngular.js:8165で発生するようです。

angular私が大人の開発者であり、私が彼がエラーと見なしたものを自分でうまく処理することを伝える方法はありますか?

言い換えれば、私はangularにそのがらくたを出力しないように伝えることができますか?

おかげで、

17
Georges Legros

これはブラウザの機能であり、ロギングを行うAngularJSの一部ではありません。このページのコンソールからのサンプルは次のとおりです。

console sample

質問のコメントでリンクしたのとまったく同じエラーメッセージがログに記録され、実際には ソースコードの一部を指している ですが、ロギングステートメントは追加していません。

あなたができる最善のことは この答え に従い、コンソールにフィルターを追加することです。

18
Philipp Gayret

Philippが正しい答えを提供したので、これに対する実際の解決策を追加していませんが、これの「回避策」についてideaを投稿したいと思います。

これを本当に避けたい場合の解決策は、すべての成功しない応答を処理される応答として行うことです(例:無効な資格情報、電子メールが存在する、無効な開始日など)。したがって、これらはすべて成功として機能し、ステータスは200で返されます。レスポンスヘッダーまたは本文にsecondaryStatusCode=400などの別のプロパティを追加し、フロントエンドの成功関数内で、200でない場合はこれを読んでみます。 。

私はこれが醜い解決策であることを知っていますが、これの回避策を本当に見つける必要がある場合は、この方法を使用できます。

2
Al-Mothafar