2014-10-17 3 views
3

Я хотел бы получить заголовок ответа «X-Total-Count» API RESTful. Пытаясь получить заголовок в функции обратного вызова запроса моего пользователя ngResource, кажется, что $ http игнорирует множество заголовков ответов.

Эти заголовки ответа моего запроса:

Access-Control-Allow-Origin: * 
Cache-Control: max-age=0, private, must-revalidate 
Connection: close 
Content-Encoding: gzip 
Content-Type: application/json; charset=utf-8 
Date: Fri, 17 Oct 2014 11:13:26 GMT 
Link: <http://xxxx.xxx/user?page=2>; rel="next" 
Transfer-Encoding: chunked 
Vary: Accept-Encoding 
X-Total-Count: 32 

Здесь я запрашивающие набор пользователей:

User.query({ 
    page: $scope.pagingOptions.currentPage, 
    limit: $scope.pagingOptions.pageSize 
}, function(users, responseHeaders) { 
    console.log(responseHeaders()); 
    console.log(responseHeaders('X-Total-Count')); 
}); 

Это результат консоли:

Object { cache-control="max-age=0, private, must-revalidate", content-type="application/json; charset=utf-8"} 
null 

Итак, почему функция responseHeaders() $ http превращает только 2 из 10 свойств заголовка?

+4

You также необходимо «Access-Control-Expose-Headers: X-Foo», как описано здесь: http://stackoverflow.com/questions/17038436/reading-response-headers-when-using-http-of-angularjs –

+0

У меня точно та же проблема, с использованием $ http.get(). success() в моем случае, даже с добавлением 'Access-Control-Expose-Headers: X-Total-Count' в ответе службы API, я не могу получить заголовок в угловом ... Вы нашли какое-либо решение до сих пор? – Sylver

ответ

0

Вы уверены, что вы не используете перекрестный ресурс?

см 7.1.1 Handling a Response to a Cross-Origin Request

Это спецификация запрещает доступ к любому полю заголовка ответа другого кроме полей заголовка ответа простой (т.е. Cache-Control, Content-Type, ...)