2013-01-07 17 views
4

我使用Apiary.io嘲笑我的API。但不知何故,我無法使用angularJS從響應對象讀取任何頭文件。我相信我至少有Content-Type:application/json通過檢查螢火蟲正確設定。在角碼應該讀頭太正確的發送請求到某處比其他apiary.io時,我可以打印出來...AngularJS和Apiary.IO - 無法讀取任何響應標題?

$http.get('http://ies.apiary.io/some').then(function(response) { 
    console.log("ok",response.headers('Content-Type')); 
    },function(response){console.log("err",response);}); 

http://plnkr.co/edit/zMO0pXGsIdJkV0fZdBdw

+0

你可以用代碼設置一個Plunker或jsFiddle,這樣你就可以向我們展示它不起作用的上下文嗎?我們可以以這種方式更快地回答你。 –

+0

[plunker](http://plnkr.co/edit/zMO0pXGsIdJkV0fZdBdw) –

回答

5

這一切都歸結爲在Firefox中的錯誤:https://bugzilla.mozilla.org/show_bug.cgi?id=608735

對於CORS請求,Firefox是不會回來的req.getAllRequestHeaders()什麼,雖然req.getRequestHeader( 'Content-Type的')返回正常。

無論是FF的bug已被固定或角必須解決它(如jQuery的那樣),或者你必須去更深入和直接使用XMLHttpRequest實例。


這一點也許也有關,但可能不是核心問題:


然而,幾天前,Apiary.io不是在CORS頭設置Max-Age。因此,如果您的藍圖最少,則可能會有緩存前飛行響應,因此即使將其他資源添加到藍圖中,也可能會禁止後續請求。

Max-Age現在設置爲10秒,所以它應該正常工作。但是,根據您的瀏覽器,預放置緩存可能仍會對您造成影響。嘗試清除它或在另一個瀏覽器中測試此應用程序。

+0

在Chrome中正常工作,但Firefox仍然** NOT **。通過清除緩存的Web內容和清除離線Web內容和用戶數據來清除Firefox。即使是隱私瀏覽模式也沒有幫助.. –

+0

@JakubKuchar它也適用於FF。您能否將您的請求/響應對(或屏幕截圖)粘貼到OPTIONS請求的某處?或者,也許請通過http://support.apiary.io/上的「聯繫支持」創建票證,因爲這看起來更像蜂房調試而不是Angular相關問題。 – Almad

+0

我用[Firefox](http://www.bounceapp.com/posts/new?screen_id=312065)和[Chrominium](http://www.bounceapp.com/posts/new?)創建了2個截圖。使用bounceapp.com screen_id = 312066),希望他們將提供,因爲這是我第一次使用bounceapp.com –

相關問題