【发布时间】:2015-12-28 21:46:03
【问题描述】:
我有一个 node.js/express/mysql/angular.js 应用程序,我试图在用户登录后在服务器端重定向用户。这是服务器端控制器,我无法弄清楚如何将用户重定向到另一个页面。我试过 res.render、res.redirect、window.location.href 没有成功。我在 res.render() 中遇到的错误是“没有指定默认引擎,也没有提供扩展名。” window.location.href 表示窗口未定义。 res.redirect() 允许我 console.log 我也想引导的页面的 html。非常感谢任何帮助,谢谢!
var Query = require('./../models/query.js');
module.exports = (function(){
return {
show: function(req,res) {
req.getConnection(function(err,connection){
connection.query('SELECT * FROM users',function(err,rows){
res.json(rows);
});
});
},
add: function(req,res){
var newUser = {
first_name: req.body.first_name,
last_name: req.body.last_name,
email: req.body.email,
password: req.body.password,
created_at: req.body.created_at
};
var table = "users";
Query.insert(req,newUser,table,function(err,results){
if(err) return res.json(err);
Query.find(req,table,function(err,results){
if(err) return res.json(err);
res.json(results);
});
});
},
login: function(req,res) {
var input = req.body;
console.log("got here", input);
req.getConnection(function(req, connection) {
// console.log("got connections",connection);
connection.query('SELECT * FROM users WHERE email = ?',input.email, function(err, rows) {
if (err) {
console.log("User doesn't exist: %s", err);
res.redirect('/', { data:"failed"});
} else {
if (input.password == rows[0].password) {
console.log("User password is matched");
*** success redirect right here ****
res.redirect('/static/taxonomer'+'.html');
} else {
console.log("failed here", rows[0].password);
res.redirect( '/', { data:"failed"});
}
}
});
});
}
};
})();
【问题讨论】:
-
如果你使用 angular.js,你能解释一下为什么你在后端而不是前端重定向吗?
标签: javascript angularjs node.js redirect express