【发布时间】:2021-02-15 21:06:21
【问题描述】:
我正在尝试使用 JWT 注册/登录用户。为此,我创建了一个可用的 API。
现在,我想在我的 React/Redux 应用中使用该身份验证 API。
当用户注册时,我 dispatch 我的注册组件中的一个操作 -
const signUpHandler = (e) => {
e.preventDefault();
dispatch(signup(name, email, password));
};
现在,在我的 userSlice 中,我有以下减速器 -
signup: (state, action) => {
fetch("http://localhost:5000/user/signup", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(action.payload),
})
.then((res) => {
return res.json();
})
.then((data) => {
console.log(data);
});
},
点击注册后,即; fetch 进程开始后,我收到此错误 -
Uncaught (in promise) SyntaxError: Unexpected token
稍加挖掘后,我发现当fetch的返回类型不是JSON时会出现这个错误。但我的 API 运行良好。
知道可能是什么问题吗?
提前致谢。
【问题讨论】:
-
检查响应是什么。由于它以
<开头,因此很可能是 HTML,您很可能会收到一个错误页面,该页面将引导您找到问题所在。 -
在“网络”选项卡中,响应是 HTML,它是一个样板,在
标记中具有与上述相同的错误
-
我知道响应是 HTML 但我能做些什么来纠正它?
-
您可以将
signupPOST 响应更新为 JSON 格式而不是 HTML。还要检查网络事件响应代码。
标签: javascript node.js reactjs express redux