我是 AngularJs 的新手。我有一个单页应用程序,其路由配置有一个 Controller 和一个 View 。 View 被加载到 <ng-view></ng-view>
中index.html
的元素页。在 Controller 内部,我正在制作 http
调用以获取数据并将数据绑定(bind)到 $scope
.对于成功场景,这可以正常工作,但如果出现错误,我该如何插入另一个 View ,而不是在 Angular 路径内配置的默认 View 。请告诉我。
最佳答案
要实现处理 ajax 错误的常见场景,您可以实现自定义请求拦截器并根据错误状态将用户重定向到错误页面(或登录页面):
myApp.factory('httpErrorResponseInterceptor', ['$q', '$location',
function($q, $location) {
return {
response: function(responseData) {
return responseData;
},
responseError: function error(response) {
switch (response.status) {
case 401:
$location.path('/login');
break;
case 404:
$location.path('/404');
break;
default:
$location.path('/error');
}
return $q.reject(response);
}
};
}
]);
//Http Intercpetor to check auth failures for xhr requests
myApp.config(['$httpProvider',
function($httpProvider) {
$httpProvider.interceptors.push('httpErrorResponseInterceptor');
}
]);
Plunker here
关于angularjs - 重定向到Angularjs中的错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24625623/