AngularJS 和 Apiary.IO - 无法读取任何响应标头?



我使用Apiary.io模拟我的API。但不知何故,我不能读取任何头从响应对象使用angularJS。我确信我至少有Content-Type: application/json正确设置检查在firebug。Angular中的代码也应该正确读取头文件,因为它可以在发送请求到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

这一切都归结为firefox的一个bug: https://bugzilla.mozilla.org/show_bug.cgi?id=608735

对于CORS请求,虽然req.getRequestHeader('Content-Type')返回正确,但是firefox对req.getAllRequestHeaders()没有返回任何东西。

要么FF错误必须修复,要么Angular必须绕过它(就像jQuery一样),要么你必须深入研究,直接使用XmlHttpRequest实例。


这可能也是相关的,但可能不是核心问题:


然而,几天前,Apiary。io没有在CORS标头中设置Max-Age。因此,如果你有一个最小的蓝图,你可能有CORS预飞行响应缓存,因此后续的请求可能不被允许,即使你添加额外的资源到你的蓝图。

Max-Age现在设置为10秒,所以它应该正常工作。但是,根据您的浏览器,飞行前缓存可能仍然会影响您。尝试清除它或在另一个浏览器中测试这个应用程序。

相关内容

  • 没有找到相关文章

最新更新