在路由配置(Angular)中拒绝承诺时,如何重定向到404?

时间:2013-03-28 00:29:52

标签: angularjs angularjs-routing

当在API中使用404响应时,如果在URL中使用url中的参数加载资源,那么将客户端重定向到错误路由的最佳方法是什么?

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

2 个答案:

答案 0 :(得分:6)

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

Global Ajax error handler with AngularJS

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

答案 1 :(得分:6)

您可以使用$routeChangeError事件

$scope.$on('$routeChangeError', function(arg1, arg2, arg3, arg4){
    if(arg4.status == 404) {
        $location.url('/my-error-route');
    }
});