3

在 Angular 中尝试加载给定 url 中的参数的资源时,当 API 以 404 响应时,将客户端重定向到错误路由的最佳方法是什么?

当有人访问例如 orders/1 时,他们会看到订单,但如果要么没有访问权限,要么找不到订单或发生任何其他异常,如何最好地处理?

4

2 回答 2

6

您可以使用这个问题中建议的拦截器:

使用 AngularJS 的全局 Ajax 错误处理程序

当资源请求从服务器返回时,它会首先命中拦截器。您可以检查响应的状态并根据需要做出反应。

于 2013-03-28T00:41:15.807 回答
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 回答