我已经通过了“http://tanmaysarkar.com/html-form-with-ejs-template-in-nodejs/”这篇文章,但我已经在控制器中写了我的逻辑
我正在使用带有ejs模板引擎的平均堆栈,我想将ejs表单数据发布到控制器文件夹下的ctroller我不知道如何将其发布到控制器请帮助以下是ejs模板,login.ejs是在views文件夹下
router.post('/', function (req, res) {
// authenticate using api to maintain clean separation between layers
request.post({
url: config.apiUrl + '/users/authenticate',
form: req.body,
json: true
}, function (error, response, body) {
if (error) {
return res.render('login', { error: 'An error occurred' });
}
if (!body.token) {
//console.log("inside if loop " + body.token + "::" + req.body.username + "::" + body)
return res.render('login', { error: body, username: req.body.username });
}
// save JWT token in the session to make it available to the angular app
req.session.token = body.token;
// redirect to returnUrl
var returnUrl = req.query.returnUrl && decodeURIComponent(req.query.returnUrl) || '/';
console.log("return url" + returnUrl);
res.redirect(returnUrl);
//res.render('register')
});
});
在以下控制器的帖子上应该被调用
在controllers / login.controller.js中,我写了以下post req
{{1}}
答案 0 :(得分:0)
我只需要添加
loadInBackground()
在“server.js”中的三行以上,这是我的应用程序的入口点,当我实际发布数据映射时需要像
var ejs = require('ejs');
var login = require(__dirname + '/views/login.ejs');//for ejs
var logincontroller = require(__dirname + '/controllers/login.controller.js');//for ejs
并在我的ejs文件中
app.use('/controllers/login.controller.js', logincontroller);//for ejs
是必需的