node.js - Node JS:如何在后端的 res.json(data) 之后从前端检索数据?
问题描述
我的后端将 res.staus(200).json({ somedata )} 发送到我的前端,但我无法在前端检索数据。
我的后端:
exports.login = (req, res, next) => {
//===== Check if user exists in DB ======
const { user_email, user_password: clearPassword } = req.body;
let sql = `SELECT user_password, user_id FROM users WHERE user_email=?`;
db.query(sql, [user_email], async (err, results) => {
console.log(results);
console.log(req.body);
if (err) {
return res.status(404).json({ err });
}
// ===== Verify password with hash in DB ======
const { user_password: hashedPassword, user_id } = results[0];
try {
const match = await bcrypt.compare(clearPassword, hashedPassword);
if (match) {
console.log("match ... user_id : ", user_id);
// If match, generate JWT token
res.status(200).json({
test: 'iyu',
user_id: user_id,
token: jwt.sign({ userId: user_id }, "TOOOKEN", {
expiresIn: "24h",
}),
});
} else {
console.log("not match");
}
} catch (err) {
return res.status(400).json({ err: "une erreur" });
}
});
};
前端:
const login = async (e) => {
e.preventDefault();
await POST(ENDPOINTS.USER_LOGIN, userLogin);
// await GET(ENDPOINTS.USER_LOGIN)
fetch("http://localhost:4200/api/auth/login")
.then((response) => response.json())
.then((data) => {
console.log(data);
});
};
此登录功能将数据发送到我的后端,然后后端使用第一个 POST 请求检查数据库中是否存在用户。如果是,后端以 json 格式发送一些我不想放在用户本地存储中的数据,所以在 POST 请求之后,我使用 GET 方法执行另一个请求以检索从后面发送的 json 数据,但是我有一个 404 错误。
我怎样才能让我的数据由后面发送?
解决方案
似乎问题出在 SQL 语句上,在 if 语句下,您可以像这样打印错误:
if(err) {
console.log(err);
}
请告诉我结果
推荐阅读
- java - PostgreSQL和Netbeans Java的连接问题
- jquery - select2输入文本框不适用于jquery ui
- google-sheets - 尝试自动化 timstamp 时 Google App Script 出现奇怪问题
- reactjs - React.js 如何遍历多个 API 数据数组并将数据添加到表中
- python - 修改列表 Python 的内容
- vim - Vim 在 wsl 上显示随机尾随颜色
- ios - 既然我们已经有了 Main.storyboard (Base),是否还需要 Main.strings (English)?
- swift - SwiftLocation - 捕获不允许?
- python - 停留在尝试循环文件、从每个 TXT 导入 2 行、基于选项卡拆分和转置结果的过程中
- node.js - Typescript 在现有库中声明一个新属性