【发布时间】:2016-04-27 17:43:39
【问题描述】:
我正在使用 express 和 mongodb 制作用户登录 Web 应用程序。我的项目结构是这样的,
project
|-app.js
|-models (contain mongoose model)
|-controllers
| | - user.controller.js
|- views
| | - layout.jade
| | - index.jade
| | - signup.jade
我的 app.js 只是用于监听服务器、依赖项和路由。 app.js 中的简单代码是,
//app.js
app.get('/', function(req,res){
res.render('index');
});
app.post('/signup', function(req,res){
res.render('signup');
});
app.post('/', controller.register);
这是我的 user.controller.js 文件,
//user.controller.js
exports.register = function(req,res){
var newUser = new User();
newUser.username = req.body.username;
newUser.email = req.body.email;
newUser.password = req.body.password;
newUser.save(function(err, user){
if(err){
console.log(err.message);
console.log(err.errors.username.message);
res.send('error registering user');
} else{
console.log(user);
res.redirect('/signup');
}
});
};
signup.jade 和 index.jade 是 layout.jade 文件的子文件。 layout.jade 有导航栏和其他简单的东西。 Index.jade 具有用户可以输入其用户 ID、密码和密码确认的实际形式。我正在尝试做的是,在用户单击 index.jade 中的按钮后,用户将转到重定向 signup 页面并查看 you successfully signup!。
index.jade 和 signup.jade 开始,
extend layout
block content
div
...
我认为我的代码可以工作,如果它们是单独的玉文件,正如有人在这里解释的那样 Express, Jade, & NodeJS: Navigate between pages 。但我对这种方式没有任何运气。任何人都可以帮忙吗? 谢谢!
【问题讨论】: