module.exports = function(app) {
var User = app.models.account;
//login page
app.get('/', function(req, res) {
res.render('login');
});
//verified
app.get('/verified', function(req, res) {
res.render('verified');
});
//log a user in
app.post('/login', function(req, res) {
User.login({
email: req.body.email,
password: req.body.password
}, 'user', function(err, token) {
if (err) {
res.render('response', {
title: 'Login failed',
content: err,
redirectTo: '/',
redirectToLinkText: 'Try again'
});
return;
}
res.render('home', {
email: req.body.email,
accessToken: token.id
});
});
});
}
我正在尝试链接我的模型帐户,该帐户以“用户”为基础。然后调用User.login函数等。
但它说Cannot read property 'email' of undefined
为什么?
这一行给出的错误是email: req.body.email,
答案 0 :(得分:1)
由于loopback基于express.js框架,因此需要正文解析器中间件,但默认情况下不启用
查看这些链接以设置bodyparser
reddit thread
stackoverflow q&a
答案 1 :(得分:0)
您需要将正文解析器中间件放在middleware.json
文件中。它已包含在node_modules
"parse": {
"body-parser#json": {},
"body-parser#urlencoded": {"params": { "extended": true }}
}