2015-03-02 7 views
3

Я пытаюсь получить заголовок $ http date из запроса AngularJS $ http.get, чтобы получить время сервера.

app.controller('MainCtrl', function($http,$scope) { 
    $scope.name = 'World'; 

    $http({method: 'GET', url: 'http://graph.facebook.com/facebook'}).then(function(response){ 
    console.log(response); 
    }) 
}); 

Я не могу найти заголовок даты, хотя, когда я проверял на хром-инструментах, заголовок даты был там.

ответ

5

попробовать это:

$http({method: 'GET', url: 'http://graph.facebook.com/facebook'}).then(function(response){ 
     var data = response.data, 
      status = response.status, 
      headers = response.headers(), 
      config = response.config; 
     }) 

headers будет содержать:

headers: { 
    "date": "Mon, 02 Mar 2015 23:02:51 GMT", 
    "content-encoding": "gzip", 
    "server": "Apache", 
    "vary": "Accept-Encoding", 
    "content-type": "text/html", 
    "connection": "Keep-Alive", 
    "keep-alive": "timeout=10, max=500", 
    "content-length": "39" 
} 

доступ к дате:

headers.date 

Поскольку это запрос CORS на facebook API: заголовок ответа будет содержать только

Content-Type 
Last-modified 
Content-Language 
Cache-Control 
Expires 
Pragma 

Проблема из-за отсутствия Access-Control-Allow-Headers с запросом заголовка. Чтобы исправить это, нам нужно добавить Access-Control-Allow-Headers: *, чтобы запросить заголовок в вашем методе запуска.

+0

Почему это не работает для меня? http://plnkr.co/edit/SvPECqJi1npYRqDcyBqF?p=preview –

+0

небольшое изменение: должно быть response.headers() – mohamedrias

+0

В вашем ответе нет поля даты, когда я попытался напечатать заголовки. Я получил: кеш-контроль: «закрытый, без кеша, без хранения, должен-revalidate» content-type: «application/json; charset = UTF-8» истекает: «Сб, 01 янв 2000 00:00:00 GMT "прагма:" no-cache "только – mohamedrias