node.js - 为什么我收到 TypeError: Failed to fetch?
问题描述
尝试从 React 应用程序发送数据时,我得到了一个获取的错误类型。
请注意,我正在使用核心。它在客户端的本地主机上运行良好,而不是在在线托管时运行良好。
注意:当使用这样的邮递员时,我会从 json 获得结果:
{
"success":"true",
"ID":"token"
}
这是 expressjs 中的后端代码源:
router.post("/sickers/user/login/", cors(), (req, res) => {
var values = req.body;
var pass = values.password;
var email = values.email;
if (pass !== null || pass !== "") {
try {
con.query("SELECT Password ,ID FROM `sickers` WHERE Email='" + email + "'", function(err, rows, field) {
if (err) {
console.log(err);
res.send("an error detected try later");
} else {
try {
if (pass == rows[0].Password) {
//create the signed function
jwt.sign(rows[0].ID, "secretkey", (err, token) => {
res.json({ success: "true", ID: token })
})
//session.session( )
} else {
res.json({ success: "false" });
}
} catch {
res.json({ success: "false" });
}
}
});
} catch (e) {
res.json({ success: "false" });
}
}
});
客户端方法是:
//submit values
const submithandler=async (e)=> {
e.preventDefault();
try{
console.log('start')
await fetch('url/api/sickers/user/login/',{
method:'post',
headers:{
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body:JSON.stringify({
password:password,
email:email
})
})
.then(response =>
{
console.log("response");
response.json().then(data =>
{
console.log(data);
if(data.success=="true")
{
sessionStorage.setItem('ID',data.ID);
window.location.reload();
seterr("");
}
else
{
seterr("try again");
}
});
});
}
catch(e)
{
console.log(e)
}
}
我在这里想念什么吗?
提前致谢。
解决方案
我之前通过将核心添加到服务器上的 .htaccess 或将整个项目的后端和前端托管到同一台服务器中来解决了这个问题。
推荐阅读
- spring - 如何在 Spring 的控制器中将元素 id 添加到 Thymeleaf 模板的 url
- python - 转换类型化的 numpy (rec) 数组
- python - discord.py在使用add_roles时等待“AttributeError:'list'对象没有属性'id'”
- r - 我可以在 R 中的多个列上运行循环吗?
- angular - Angular - 将数据连接到另一个接口(几个字段)
- excel - 电源查询编辑器 24 小时 (HH:MM:SS) 错误
- swagger - 如何配置 swagger-codegen 以在 openApi3 上为“allOf”类生成一个全参数构造函数?
- javascript - 使用 React 有条件地停止游戏循环
- search - Foursquare API - 场地搜索方法 - 优先级限制与半径
- python - 添加功能调度时本地Django服务器无响应