为$ resource的成功回调提供HTTP状态

时间:2016-04-19 19:01:20

标签: javascript ruby-on-rails angularjs node.js

我需要承诺我工厂的状态代码,我该怎么办呢?

myApp.factory('cartService', ['$resource', function($resource){
  return $resource('/api/v1/carts ', {}, {
    show: { method: 'GET', isArray:false, headers:{'Authorization':'Token token=' + localStorage.Token} },
    create: { method: 'POST', headers:{'Authorization':'Token token=' + localStorage.Token} }
  })
}]);

这是电话

cartService.show().$promise.then(function(data){
        $rootScope.cart = data;
        // GET STATUS ????
      }).catch(function(response){
        growl.warning("Problems!!", {title: 'Error'});
      })

响应的状态为204

enter image description here

1 个答案:

答案 0 :(得分:0)

正如this回答中所说,

您必须在$ ressource调用中添加拦截器。 在拦截器中,您可以向promise响应添加$ http响应。

代码是这样的:

var resource = $resource(url, {}, {
    get: {
        method: 'GET'
        interceptor: {
            response: function(response) {      
                var result = response.resource;        
                result.$status = response.status;
                return result;
            }
        }
    }                            
});

我建议你查看原始答案。