node.js - 即使调用页面也不会呈现
问题描述
我想在 node express 中做一个登录页面。检查密码和用户名后,页面请求下一页的信息,但页面没有加载。
通过发布请求,我将密码和用户名发送到服务器并检查:
router.post('/',function(req, res, next) {
dbs.executeQuery("select Id from Admin where username=\"" +username+"\"
and password=\""+password+"\"",
(err,data)=>{
if (!err && data.length != 0){
req.method = "GET";
req.url = "/menu";
router.handle(req,res,next);
}
else{
console.log("error");
})
})
这里将执行查询,但不会呈现 index.ejs:
router.get("/menu", function(req, res, next) {
dbs.executeQuery("select * from Menu", (err, data) => {
if (!err) {
obj = { print: data };
res.render("index", obj);
} else {
console.log("Cant find data");
res.render("index", { print: {} });
}
});
});
解决方案
也许您应该尝试使用重定向方法:
router.post('/',function(req, res, next) {
dbs.executeQuery("select Id from Admin where username=\"" +username+"\"
and password=\""+password+"\"",
(err,data)=>{
if (!err && data.length != 0){
res.redirect('/menu'); // <---- HERE
}
else{
console.log("error");
})
})
推荐阅读
- javascript - 选择日期时如何弹出模式
- php - PHP 8 和会话处理程序的权限错误
- javascript - 格式名称
- javascript - 如何使用 api 获取 SQL 数据并在 react-native-svg 图表中使用该数据?我有一个我想用来获取数据和显示的 API
- arduino-c++ - 在这种情况下,如何对红外遥控器进行编码,以便 + 和 - 按钮控制代码中列出的温度?阿杜诺 (TinkerCAD)
- istio - 如何将两个 EKS 集群配置为共享网络?
- python - 如何使用个人私钥和公钥在 python 中使用 secp256k1 ECDSA 进行签名
- javascript - 如何在 Mongoose 中从购物车创建订单并删除购物车
- react-native-windows - 如何在 Xbox 上打开 React Native 开发者菜单
- python - 如何通过多个文件打印字典,