如何从ReactJS中的Fetch请求获取Header Location值

时间:2016-08-12 22:37:49

标签: reactjs http-headers fetch-api

从ReactJS - Redux前端应用程序,我尝试获取REST API响应的Location Header值。

当我卷曲时:

curl -i -X POST -H "Authorization: Bearer MYTOKEN" https://url.company.com/api/v1.0/tasks/

我有这个答案:

HTTP/1.1 202 ACCEPTED
Server: nginx
Date: Fri, 12 Aug 2016 15:55:47 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 0
Connection: keep-alive
Location: https://url.company.com/api/v1.0/tasks/status/idstatus

当我在ReactJS中进行抓取时

    var url = 'https://url.company.com/api/v1.0/tasks/'
    fetch(url, {
            method: 'post',
            credentials: 'omit',
                headers: {
                    'Authorization': `Bearer ${token}`
                }
            }
     )

我在响应对象中没有任何Headers: No header in Fetch request

我尝试了https://developer.mozilla.org/en-US/docs/Web/API/Headers中找到的所有response.headers函数:

response.headers.get('Location');

但是,由于标题是空的,我的结果是空的。

你知道为什么我不能得到一个填充了标题值的正确Header对象吗?

提前致谢,

2 个答案:

答案 0 :(得分:0)

除了在服务器中显示位置标头之外。

我可以通过以下方式访问react应用程序中的位置:

response.headers.location;

答案 1 :(得分:0)

HttpRequest req = new HttpRequest();

req.setHeader('Access-Control-Allow-Origin', '*');

req.setHeader('Access-Control-Allow-Credentials', 'true');

response.getHeader('location'); //不要使用 response.getHeader('Location'); //这可能会导致问题。