Angular检查每个资源响应的错误标志

时间:2014-02-21 13:13:24

标签: angularjs angular-resource

在Angular中,我希望有一个函数在它到达控制器之前拦截$ resource响应,看它是否设置了错误标志,然后对该错误标志进行操作。是否有一个资源函数可以挂钩检查响应数据,然后再将其发送到控制器?

示例资源:

mymod.factory('setSomething', function($resource){
    var resource = $resource('/proxy/request.php?action=setSomething', {}, {
        post:{
            method  : "POST",
            isArray : false,
            headers : { 
                'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8' 
            } 
        },

    });
    return resource;
});

1 个答案:

答案 0 :(得分:0)

您可以全局定义资源的错误处理:

$httpProvider.interceptors.push(function($q, $rootScope) {
  return {
     'request': function(config) {
        // intercepts the request
     },
     'response': function(response) {
       // intercepts the response. you can examine things like status codes
     },
     'responseError': function(response) {
       // intercepts the response when the response was an error
     }
  }
});

响应参数为您提供了大量信息,因此您可以正确处理错误。