页面即使被调用也不会呈现

时间:2019-01-03 15:30:47

标签: node.js express server routing

我想在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");
  })
 }) 

此处将执行查询,但不会呈现索引。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: {} });
    }
  });
});

1 个答案:

答案 0 :(得分:0)

也许您应该尝试使用重定向方法:

 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");
  })
 })