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
629 views
in Technique[技术] by (71.8m points)

nodejs使用mongoose连接数据库,使用post提交表单在后台,后台处理后调用res.redirect()跳转界面无效?

nodejs使用mongoose连接数据库,使用post提交表单在后台,后台处理后调用res.redirect()跳转界面无效?这是为什么呢,

情况:我想要在项目中连接多个mongodb数据库,所以就想使用mongoose.createConnection方法来连接数据库,就遇到了以上的问题。

原来的情况:我是使用mongoose.connect('mongodb://localhost/myapp');来连接数据库的,具体如下:(这里是登陆的方法后台代码)

var mongoose = require('mongoose');
var User = mongoose.model('User');
mongoose.connect('mongodb://localhost/myapp');

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())) {
            console.log('user:' + user)
            console.log('id:' + user.id)
            req.session.user = user.id;
            res.redirect('/');
        }
    });
}

上面的情况是正常的,可以查询到数据库密码进行匹配,并成功跳转。

现在的情况:使用的是mongoose.createConnection('mongodb://localhost/myapp');连接数据库,就出现问题了,具体代码如下:

var mongoose = require('mongoose');
var pdb = mongoose.createConnection('mongodb://localhost/myapp');
var User = pdb.model('User');
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())) {
            console.log('user:' + user)
            console.log('id:' + user.id)
            req.session.user = user.id;
            res.redirect('/');
            pdb.close();
        }
    });

上面就是我要问的情况,在这里我也可以查到具体的用户,用户密码验证也是可以的,但是为什么res.redirect('/');就是无反应呢,不跳转。


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

1 Answer

0 votes
by (71.8m points)

错误代码中req,res哪来的


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

...