首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS和Apiary.IO -无法读取任何响应头?

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

Stack Overflow用户
提问于 2013-01-07 09:22:03
回答 1查看 5K关注 0票数 4

我使用Apiary.io模拟我的API。但不知何故,我无法使用angularJS从response对象中读取任何标头。我确信我至少已经通过签入firebug正确地设置了Content-Type: application/json。Angular中的代码也应该正确地读取头文件,因为我可以在将请求发送到apiary.io以外的其他地方时打印它们。

代码语言:javascript
复制
  $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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-07 21:25:34

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

对于CORS请求,虽然req.getRequestHeader('Content-Type')可以正确返回,但firefox不会为req.getAllRequestHeaders()返回任何内容。

要么FF bug必须修复,要么Angular必须绕过它(就像jQuery一样),或者你必须更深入地直接使用XmlHttpRequest实例。

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

然而,几天前,Apiary.io没有在CORS标头中设置Max-Age。因此,如果您有一个最小的蓝图,您可能会缓存CORS飞行前响应,因此即使您向蓝图添加了额外的资源,后续请求也可能被禁止。

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14188662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档