Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
526 views
in Technique[技术] by (71.8m points)

使用mongoose.createConnection连接数据库,当以post方式提交表单时,页面不跳转

使用mongoose.createConnection连接数据库,当以post方式提交表单时,页面无反应,比如登陆功能,当我输入用户名密码后,界面一直不跳转,但是后台已经正常的读取到用户的相关数据了。

//此处是属性
var private_database_controller = require('./private_database_controller')
var publicDB = mongoose.createConnection('mongodb://localhost/myapp');
var query = require('./public_database_controller');
var User = publicDB.model('User');
var ModelInfo = publicDB.model('ModelInfo');
var MeasInfo = publicDB.model('MeasInfo');
var AppInfo = publicDB.model('AppInfo');

//此处是登陆时的控制代码
exports.login = function(req, res){
  User.findOne({ username: req.body.username })
  .exec(function(err, user) {
    if (!user){
      err = 'User Not Found.';
    } else if (user.password.toString() ===
               hashPW(req.body.password.toString())) {
      req.session.regenerate(function(){
        req.session.user = user.id;
        req.session.username = user.username;
        req.session.msg = ' 欢迎登陆 ' + user.username;
        res.redirect('/');
      });
    }else{
      err = 'Authentication failed.';
    }
    if(err){
      req.session.regenerate(function(){
        req.session.msg = err;
        res.redirect('/login');
      });
    }
  });
};

具体画面如下:
图片描述


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
if(err){
      req.session.regenerate(function(){
        req.session.msg = err;
        res.redirect('/login');
      });
    }

这里加一个else来做一个跳转测试呢


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...