【问题标题】:provide HTTP status to the success callback of $resource为 $resource 的成功回调提供 HTTP 状态
【发布时间】:2016-04-19 19:01:20
【问题描述】:

我需要我的工厂的状态码和承诺,我怎样才能得到它?

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

【问题讨论】:

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


【解决方案1】:

正如this 回答中所说,

你必须在你的 $ressource 调用中添加一个拦截器。 在拦截器中,您可以将 $http 响应添加到 Promise 响应中。

代码是这样的:

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

我建议你检查原始答案。

【讨论】:

  • 如果您发现另一个问题具有发布者正在寻找的答案,您应该考虑将此问题标记为该问题的副本,而不是在此处发布原始答案。
猜你喜欢
  • 2014-06-29
  • 1970-01-01
  • 2015-01-10
  • 2019-10-25
  • 2016-11-10
  • 1970-01-01
  • 1970-01-01
  • 2014-11-22
  • 1970-01-01
相关资源
最近更新 更多