3

Angular で、URL のパラメーターを指定してリソースをロードしようとしたときに API が 404 で応答したときに、クライアントをエラー ルートにリダイレクトするための最良の方法は何ですか?

誰かが orders/1 にアクセスすると、注文が表示されますが、アクセス権がない場合、注文が見つからない場合、またはその他の例外が発生している場合、これをどのように処理するのが最善ですか?

4

2 に答える 2

6

$routeChangeErrorイベントを使用できます

$scope.$on('$routeChangeError', function(arg1, arg2, arg3, arg4){
    if(arg4.status == 404) {
        $location.url('/my-error-route');
    }
});
于 2013-03-28T03:41:27.603 に答える
6

この質問で提案されているように、インターセプターを使用できます。

AngularJS を使用したグローバル Ajax エラー ハンドラー

リソース要求がサーバーから返されると、最初にインターセプターにヒットします。応答のステータスを確認し、必要に応じて対応できます。

于 2013-03-28T00:41:15.807 に答える