当在API中使用404响应时,如果在URL中使用url中的参数加载资源,那么将客户端重定向到错误路由的最佳方法是什么?
当某人访问例如orders / 1时,他们会看到订单,但如果其中一个没有访问权限,订单未找到或发生任何其他异常,那么最好如何处理?
答案 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');
}
});