В Angular (v1.2.19) я смог сделать что-то подобное на фабрике:
myApp.factory('GetNumber', ['$resource',
function($resource) {
var get_headers = $resource('some/url', null, {
get_number: {
method: 'HEAD',
transformResponse: function(data, headers) {
var count = headers()['x-number'];
return count;
}
}
});
return get_headers;
}
]);
Вызовите его из моего контроллера следующим образом:
$q.all({
'item1': GetNumber.get_number().$promise,
'item2': SomeOtherService.get().$promise
})
.then(function(results) {
$scope.newNumber = results.item1.value;
});
И я мог бы вернуть пользовательский заголовок, не извлекая весь заголовок.
Теперь в версии 1.3.15 это не работает. Я вижу заголовок в Chrome с «x-number» в заголовке, но если я поставлю точку останова в Chrome на строку «var count», я никогда не попаду в нее (и я попадаю в нее с v1.2.19).
Я проверил, что использование $http.head работает, поэтому, если у меня есть это в моем контроллере:
$http.head('some/url')
.success(function(data, status, headers, config) {
var count = headers()['x-number'];
$scope.newNumber = count ? count : 0;
});
Я получаю свое ограниченное значение.
Я заметил, что существует не так много примеров людей, использующих метод http 'HEAD', и мне интересно, есть ли причина, которую я еще не нашел с помощью поиска?
Я нашел этот вопрос и ответ StackOverflow HTTP Get: Only скачать шапку? (HEAD не поддерживается), и хотя я согласен с утверждением, я не хочу накладных расходов на запрос заголовков и тела.
Любые предложения, пожалуйста? Джули