我的$http
函数可能会返回以下错误:
POST http://foobar.dev/foobar 500 (服务器内部错误)
POST http://foobar.dev/foobar 401 (未授权)
有没有一种方法可以捕捉所有状态码?
$http.post('/foobar', form)
.success(function(data, status, headers, config) {
console.info(data);
})
.error(function(data, status, headers, config) {
console.error(data);
if(status === 401) {
$scope.setTemplate('show-login');
}
if(status === 500) {
$scope.setTemplate('server-error');
}
}
);
$scope.setTemplate()
是控制器内设置视图的一个函数。
但我必须对每个error()
函数执行此操作,而且还有很多类似这样的函数,这也不符合DRY代码的要求:P
我想要的是捕获错误并根据返回的状态码执行操作。
提示:我没有使用Angular的$routeProvider()
。
.$on("ajaxError
的数据始终是未定义的。 - user1469734'responseError': function(response) { if(response.status == 422) { return response; } // 然后是你的代码,但那不是解决方法。
- user1469734