这个简单的问题困扰着我。我在Web Api Rest服务器的响应头中有一个自定义值。 我可以把它看作Firebug: X-TotalPages 204 我尝试在我的AngularJS控制器中获取它。代码如下。 但我找不到任何好的例子如何做到这一点。 的console.log(头()[ 'X-总页数']);记录'undefined'
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));
});
};
答案 0 :(得分:35)
您应该使用:headers('X-TotalPages')
(发布Wawy的回答以便解决问题。)
答案 1 :(得分:2)
对于 $ http(url).then()语法已替换 在较新版本的AngularJS中, $ http(url).success()。error(),我使用了以下方法:
$http(url).then(function(response){
response.headers("X-TotalPages");
});
只需使用 response.headers()就会给出所有附加的响应头。
答案 2 :(得分:0)
您可以使用成功回复承诺
promise.then(function(resp){
resp.headers().token(variablename)
});