无法发出 HTTP post 请求

杰多多

我正在尝试使用 HTTP post 请求登录。

应用程序.js

//login
app.get('/login', indexRouter); // call to login site
app.post('/login',indexRouter); // post to /users/login site

用户.js

router.get('/', function(req, res, next) {
    var message = '';
   var sess = req.session; 

   if(req.method == "POST"){
      var post  = req.body;
      var name= post.user_name;
      var pass= post.password;

      var sql="SELECT id, first_name, last_name, user_name FROM `users` WHERE `user_name`='"+name+"' and password = '"+pass+"'";                           
      db.query(sql, function(err, results){      
         if(results.length){
            req.session.userId = results[0].id;
            req.session.user = results[0];
            console.log(results[0].id);
            res.redirect('/users/home/dashboard');
         }
         else{
            message = 'Wrong Credentials.';
            res.render('index.ejs',{message: message});
         }

      });
   } else {
      res.render('index.ejs',{message: message});
   }         
}); 

当我单击登录时,它会将我定向到http://localhost:3000/login,但未找到错误 404。我从我的主页http://localhost:3000 登录

我是否错误地执行了 POST 请求?

标准数据库--

您需要将路由器分为两种方法:router.getrouter.post例如:

// app.js
// login
app.use('/login', indexRouter); 

// users.js
// call to login site
router.get('/', function(req, res, next) {
  var message = '';
  var sess = req.session; 
  res.render('index.ejs',{message: message});
});

// users.js
// post to /users/login site
router.post('/', function(req, res, next) {
  var message = '';
  var sess = req.session; 

  var post  = req.body;
  var name= post.user_name;
  var pass= post.password;

  var sql="SELECT id, first_name, last_name, user_name FROM `users` WHERE `user_name`='"+name+"' and password = '"+pass+"'";                           
  db.query(sql, function(err, results){      
     if(results.length){
        req.session.userId = results[0].id;
        req.session.user = results[0];
        console.log(results[0].id);
        res.redirect('/users/home/dashboard');
     }
     else{
        message = 'Wrong Credentials.';
        res.render('index.ejs',{message: message});
     }
  });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章