使用获取来做出反应以获取令牌并检查响应状态?

时间:2018-08-31 09:56:34

标签: javascript reactjs rest fetch

我正在尝试通过REST调用和JWT令牌检查登录状态,以便如果该状态不正常,则将返回false,但这就是我要得到的。

export function login(data){
    fetch('http://localhost:8000/token-auth/', {
        method: 'POST',
        headers: {'Content-Type': 'application/json'},
        body: JSON.stringify(data)
    }).then(res => res.json())
    .then(json => 
         console.log(json.token)  <= This prints correctly
    )
}

我尝试添加此功能的支票,但后来我不再打印出令牌

export function login(data){
    fetch('http://localhost:8000/token-auth/', {
        method: 'POST',
        headers: {'Content-Type': 'application/json'},
        body: JSON.stringify(data)
    }).then(res => {
         if(res.ok){
             console.log(res.json()) <= This prints something about promise
             console.log(res.json().token) <= this prints 'undefined'
         } 
    }).then(json => 
         console.log(json.token)  <= This prints 'undefined'
    )
}

1 个答案:

答案 0 :(得分:0)

您可以改用catch块吗?像这样:

export function login(data){
    fetch('http://localhost:8000/token-auth/', {
        method: 'POST',
        headers: {'Content-Type': 'application/json'},
        body: JSON.stringify(data)
    }).then(res => res.json())
    .then(json => 
         console.log(json.token)
    ).catch(error =>
         console.log(error.response)
    )
}