如何使用fetch保存JWT响应头?

时间:2018-01-05 22:51:08

标签: javascript reactjs http-headers fetch

我正在使用React并使用fetch向服务器发送请求:

fetch("http://localhost:8001/api/login", {
    method: 'post',
    headers: {
        "Content-type": "application/x-www-form-urlencoded; charset=UTF-8"
    },
    body: 'username=' + this.state.username + '&password=' + this.state.password
})
.then(function (response) {
    console.log('Request succeeded with JSON response', data);
    console.log(data.headers.toString())
})
.catch(function (error) {
    console.log('Request failed', error);
});

This is chrome inspect, it shows that I get JWT token from server 我的问题是如何在我的代码中访问它?我实际上需要将它保存到变量中,实际上没办法

data.headers.jwt

如果这没有意义,我很抱歉,我可以澄清你是否需要。

1 个答案:

答案 0 :(得分:3)

这是您需要的代码。作为奖励,我添加了一些代码,向您展示如何使用响应数据。

fetch("http://localhost:8001/api/login", {
    method: 'post',
    headers: {
        "Content-type": "application/x-www-form-urlencoded; charset=UTF-8"
    },
    body: 'username=' + this.state.username + '&password=' + this.state.password
})
.then(function (response) {
    console.log('My JWT:', response.headers.get('jwt'));
    return response.json();
})
.then(function (data) {
    // Do something with JSON data.
})
.catch(function (error) {
    console.log('Request failed', error);
});