头部不存在于fetch()响应中

时间:2015-10-31 11:54:41

标签: react-native

我试图通过react-native fetch()方法返回和使用响应的标头,但似乎有些东西不合适并且标头不在那里。

我已经看到本土团队已经接受了公关可能与此相关的内容:https://github.com/facebook/react-native/commit/fe42a28de12926c7b3254420ccb85bef5f46327f但我不确定它是否针对我目前面临的问题。无论如何,我已经安装了一个来自master的react-native(要应用最近的PR),我的api端点返回以下标题:

> curl --include 'http://192.168.0.111:3000/api/v1/items?limit=1'

HTTP/1.1 200 OK
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Link: <http://192.168.0.111:3000/api/v1/items?limit=1&page=32>; rel="last", <http://192.168.0.111:3000/api/v1/items?limit=1&page=2>; rel="next"
Total: 32
Per-Page: 1
Content-Type: application/json; charset=utf-8
Cache-Control: no-store, must-revalidate, private, max-age=0

(...)

但是,我的获取方法由于某种原因无法看到它们:

fetch(CONFIG.api_url + '/items?limit=25').then(function(resp) {
  console.log(resp.headers)
  console.log(resp.headers.getAll())
  console.log(resp.headers.get('Link'))
})

fetch output

提前感谢您提供有关如何访问这些标题的提示(欢迎使用脏热修复程序:)!

1 个答案:

答案 0 :(得分:0)

我正在寻找chrome fetch api(不使用reactjs)这样的东西,文档中没有提到这一点(即使在编写本文时)。我做了一些跟踪和错误,发现以下工作在chrome(在版本47中检查)

        //get all 'available' headers
        response.headers.forEach(function(value, key){
            console.log('[' + key + '] = '+value);

        });

请注意,响应标头会根据响应类型进行限制。请参阅“响应类型”&#39;部分了解更多信息https://developers.google.com/web/updates/2015/03/introduction-to-fetch?hl=en