AngularJS$http响应头

AngularJS$http响应头,angularjs,response-headers,Angularjs,Response Headers,这个简单的问题困扰着我。我在Web Api Rest服务器的响应头中有一个自定义值。 我可以将其视为Firebug: X-TotalPages 204 我试着把它放在我的AngularJS控制器里。代码如下。 但我找不到任何好的例子如何做到这一点。 log(headers()['X-TotalPages']);日志“未定义” var assets = angular.module("Assets", ['ui.bootstrap']); assets.controller('AssetSearc

这个简单的问题困扰着我。我在Web Api Rest服务器的响应头中有一个自定义值。 我可以将其视为Firebug: X-TotalPages 204 我试着把它放在我的AngularJS控制器里。代码如下。 但我找不到任何好的例子如何做到这一点。 log(headers()['X-TotalPages']);日志“未定义”

var assets = angular.module("Assets", ['ui.bootstrap']);
assets.controller('AssetSearchController', function ($scope, $http) {
    $scope.test = 'very';
    $scope.getItems = function () {
        $http({ method: 'GET', url: 'http://localhost:57772/api/assets', params: { search: 1, page: 0, pageSize: 10 } }
            ).success(function (data, status, headers, config) {
                $scope.currentPage = 4;                
                console.log(headers()['X-TotalPages']);

            $scope.items = data;
        }).
        error(function (data, status) {
            console.log(JSON.stringify(data));
            console.log(JSON.stringify(status));
        });

    };

您应该使用:
headers('X-TotalPages')


(发布Wawy的答案以便问题得以解决。)

您可以使用成功承诺回调

promise.then(function(resp){
            resp.headers().token(variablename)

     });
对于$http(url)。然后()替换的语法 $http(url).success().error()在AngularJS的较新版本中,我使用了以下内容:

$http(url).then(function(response){
            response.headers("X-TotalPages");
     });

只需使用response.headers()将给出响应中附加的所有头。

console.log(headers())的输出是什么?谢谢你的快速回复。log(headers());返回头:[object],这样它就在那里了。我已经研究了另一个问题,但没有帮助。这是我的响应,它似乎是由rest服务器[IMG]和rest服务中的web配置返回的:它不应该是headers(“X-TotalPages”)吗?