通过AngularJS中的$ resource访问头信息

时间:2015-05-05 16:43:26

标签: angularjs http-headers authorization angular-resource

我在我工厂内的$ resource发送请求服务器端。 在返回对象中有很多信息,但我希望能够访问标题中的授权。 我试图通过console.log()打印返回的对象,但我没有在控制台中看到任何标题和授权。我该怎么办?

controllers.controller('ProfileSettingCtrl', function ($scope,User) {
     User.get({id: 'me'}, function(res) {
            console.log(res);
            $scope.profile = res;
        })

enter image description here

2 个答案:

答案 0 :(得分:1)

Documentation for $resource

  

使用(value,responseHeaders)参数调用成功回调。

好像你可以通过function (res, headers) { console.log(headers); }

获取标题

答案 1 :(得分:0)

根据$ resource文档,标题作为第二个参数传递给您的成功回调。

  

值得注意的是,get,query和其他方法的成功回调在来自服务器的响应以及$ http header getter函数中传递,因此可以重写上面的示例并获取访问权限到http标题:

     

var User = $resource('/user/:userId', {userId:'@id'}); User.get({userId:123}, function(u, getResponseHeaders){ u.abc = true; u.$save(function(u, putResponseHeaders) { //u => saved user object //putResponseHeaders => $http header getter }); });

如果要使用标头信息,则必须使用成功回调。否则我总是建议使用promises,你可以链接和传递: User.get().$promise.then(successCallback).catch(errorCallback);