node.js - express框架 :写登录页面遇到的问题
黄舟
黄舟 2017-04-17 13:31:09
[Node.js讨论组]

在写登录页面时遇到问题。直接上代码

下面这段是前台代码。

下面是node响应的代码,像这样将用户名固定在这,没有问题,验证成功就会返回status(200),成功跳转。

  router.post('/login',function(req,res){
        var user={
            username:'admin',
            password:'admin'
        }
       if(req.body.username==user.username&&req.body.password==user.password){
            req.session.user = user;
            res.sendStatus(200);
            }else{
                req.session.error = "用户名或密码不正确";
                res.sendStatus( 404 );
                    }
});

但是我像下面这样写就会不会跳转,而且if那里走的是success那

router.post('/login',function(req,res){
  
      dao.User(req.body.username).then(function (result) {
      var user={
            username:result[0].username,
            password:result[0].password
        }
         if(req.body.username==user.username&&req.body.password==user.password){
          
            res.sendStatus(200);
            req.session.user = user;

            }
        else{
             res.sendStatus(404);
             req.session.error = "用户名或密码不正确";
              }
       });       
});

这个是数据库查询

 function User(username) {
        var result=db.msql.query('select * from User where username="'+username+'"');
        return result;
    }
    exports.User  = User;

请大家帮我看下是什么原因,谢谢大家。
补充:不跳转的原因发现是先返回了一个status=""的状态,还是异步的原因 ,不知道如何改,求大神帮忙,跪谢。。。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(1)
PHP中文网

你可以这么试试:
比较完用户名和密码以后,用

return res.json({});

返回,前端不要判断ajax的status,自己设定一个status来用

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号