【问题标题】:Fetch for refresh token not working (React.js)获取刷新令牌不起作用(React.js)
【发布时间】:2018-07-25 09:33:12
【问题描述】:

我又来了。我正在尝试根据本地存储中先前存储的令牌向 API 请求刷新令牌。它给出了错误 400(),我仍然不知道为什么。 POST 请求正文中需要前一个令牌。

任何帮助都是可以接受的,我真的很失落……我已经被这个问题困扰了好几天了……

    fetch(url + '/api-token-refresh/', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        }, body: JSON.stringify({
            token: localStorage.getItem('token')
        })
    })

我认为问题出在我存储在 localStorage 中时,因为在请求有效负载上我得到 token: "{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjo0LCJ1c2VybmFtZSI6InJpY2FyZG8uY2Fycm9sYUBnbWFpbC5jb20iLCJleHAiOjE1MzMxMTY2OTQsImVtYWlsIjoicmljYXJkby5jYXJyb2xhQGdtYWlsLmNvbSIsIm9yaWdfaWF0IjoxNTMyNTExODk0fQ.sS3kuC8o51Rix505BFy9nT5w9iygNaKViGq_fVtVChk"}" 这意味着我不只是得到令牌...

如果您需要其他任何内容,请提出,我会补充问题。感谢您的关注。

【问题讨论】:

  • console.log(localStorage.getItem('token')) 是否返回预期结果?
  • 请显示错误写入的内容
  • @SofiaRibeiro 如果这是console.log(localStorage.getItem('token')) 的结果,那么您可能只需将body: JSON.stringify({ token: localStorage.getItem('token') }) 替换为body: JSON.stringify(localStorage.getItem('token')),因为localStorage 已经返回了一个键/值对,您不需要重新创建身体
  • 您是否使用 curl 或 Postman 之类的工具尝试此请求以检查令牌在服务器端是否有效?
  • 查看我的回答@Signo,感谢您的帮助!

标签: javascript reactjs rest api fetch


【解决方案1】:

我正在使用 JSON.stringify 并且令牌正在进行请求有一个字符串,我很快就更改了正文,状态更改为 200。感谢谁的帮助!

fetch(url + '/api-token-refresh/', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }, body: (localStorage.getItem('token'))
})

【讨论】:

    猜你喜欢
    • 2017-07-18
    • 2021-08-24
    • 2020-09-25
    • 2018-01-06
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 2019-10-26
    • 2015-07-19
    相关资源
    最近更新 更多