Использование последней версии служб google gms разрешило это для меня.
На уровне проекта build.gradle:
buildscript {
...
dependencies {
classpath 'com.google.gms:google-services:3.2.1'
...
}
}
Причина, по которой вы не можете прочитать заголовок на JavaScript, но вы можете просмотреть его в консоли разработчика, - это потому, что для запросов CORS вам нужно разрешить клиенту читать заголовок.
Требуется сервер для отправки этого заголовка:
Access-Control-Expose-Headers:X-Total-Results
Чтобы ответить на ваш вопрос в комментариях, Access-Control-Allow-Headers
не разрешает подстановочные знаки в соответствии с W3 Spec
Используйте $ httpProvider.interceptors, вы можете перехватить как запрос, так и ответ
, например
$httpProvider.interceptors.push(['$q', '$injector', function ($q, $injector) {
return {
'responseError': function (response) {
console.log(response.config);
},
'response': function (response) {
console.log(response.config);
},
'request': function (response) {
console.log(response.config);
},
};
}]);
Обновление: вы можете получить информацию о своих заголовках в самом вызове
$http.({method: 'GET', url: apiUrl)
.then( (data, status, headers, config){
console.log('headers: ', config.headers);
console.log('results header: ', config.headers('X-Total-Results'));
// ...
})