【发布时间】:2015-12-03 18:03:35
【问题描述】:
我的$http 函数可能会返回以下错误:
POST http://foobar.dev/foobar 500(内部服务器错误)
POST http://foobar.dev/foobar401(未经授权)
有没有办法可以捕获所有状态码?
$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() 是Controller 中用于设置视图的函数。
但是我必须为每个 error() 函数执行此操作,并且有很多这样的函数也不能使其成为 DRY 代码:P
我想要的是捕获错误并根据错误中返回的状态码执行操作。
仅供参考:我没有使用 Angulars $routeProvider()。
【问题讨论】:
标签: javascript angularjs angular-http