当一个承诺在路由配置中被拒绝时,我该如何重定向到404呢?



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

当某人访问例如orders/1时,他们看到订单,但如果他们没有访问权限,订单没有找到或发生任何其他异常,如何处理这个问题?

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

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

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

你可以使用$routeChangeError事件

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

最新更新