我目前正在研究用Elixir编写的phx / phoenix API。我使用React.js为API创建了一个前端。但是,我在浏览器的JS控制台中收到以下错误消息。
我已经使用Postman成功创建了一个用户,所以我99%确定错误不是与phx项目有关,而是与React项目有关。
我在github上托管了frontend和backend。并且需要在React项目的根目录中使用以下行创建.env
文件,
REACT_APP_API_URL=http://localhost:4000/api
并正在通过following tutorial。
非常感谢任何和所有帮助。
答案 0 :(得分:1)
localStorage.getItem("token")
的输出
eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJVc2VyOjEiLCJleHAiOjE0ODcyODI4ODcsImlhdCI6MTQ4NDY5MDg4NywiaXNzIjoiUGhvZW5peENoYXQiLCJqdGkiOiIwNzFlYzgwYi0wZmYzLTQyYzgtODA3Mi1kNzViZmVhZTg4NWEiLCJwZW0iOnt9LCJzdWIiOiJVc2VyOjEiLCJ0eXAiOiJhY2Nlc3MifQ.NsuqH50HooK8vjFfHtPH9iXSykZ9oYA0ul4b_C5fQtpu_zFvNNy-skcv9HI2i25X-NlB-9xOr-xzh2abnrpYUw
建议由于某种原因,应用程序存储令牌而不通过JSON.stringify
,并且在此字符串上调用JSON.parse
会引发Unexpected token e
错误,如预期的那样。
我在当前代码中没有看到任何localStorage.setItem
没有JSON.stringify
,因此令牌可能存储在应用程序的先前版本中。您应该尝试手动清除它并再次登录。
答案 1 :(得分:0)
此错误消息通常表示您收到了非JSON响应。如果您在调试器的“网络”选项卡中查看原始响应,您应该能够看到从服务器返回的内容。