2015-03-02 26 views
3

我試圖從AngularJS $ http.get請求中檢索$ http日期標題,這樣我就可以獲得服務器時間。

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 – 2015-03-02 23:08:00

+0

小小的變化:它應該是response.headers() – mohamedrias 2015-03-02 23:09:53

+0

在你的迴應中沒有日期字段,當我試圖打印標題。我得到:cache-control:「private,no-cache,no-store,must-revalidate」content-type:「application/json; charset = UTF-8」expires:「Sat,01 Jan 2000 00:00:00格林尼治標準時間「雜注:」無緩存「只 – mohamedrias 2015-03-02 23:10:31