【发布时间】: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