Jak*_*har 4 javascript http-headers angularjs apiary.io
我使用Apiary.io模拟我的API.但不知怎的,我无法使用angularJS从响应对象中读取任何标头.而且我确信我至少通过检查firebug来正确设置Content-Type:application/json.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);});
Run Code Online (Sandbox Code Playgroud)
这一切都归结为firefox中的一个错误:https://bugzilla.mozilla.org/show_bug.cgi? id = 608735
对于CORS请求,firefox没有为req.getAllRequestHeaders()返回任何内容,尽管req.getRequestHeader('Content-Type')正确返回.
要么必须修复FF bug,要么Angular必须解决它(就像jQuery那样)或者你必须更深入并直接使用XmlHttpRequest实例.
这可能也是相关的,但可能不是核心问题:
然而,前几天,Apiary.io不是设置Max-Age在CORS头部.因此,如果您有最小的蓝图,则可能会CORS缓存飞行前响应,因此即使您向蓝图添加了其他资源,也可能不允许后续请求.
Max-Age现在设置为10秒,所以它应该正常工作.但是,根据您的浏览器,飞行前缓存可能仍然会影响您.尝试清除它或在另一个浏览器中测试此应用程序.
| 归档时间: |
|
| 查看次数: |
4892 次 |
| 最近记录: |