我在尝试this basic login。注册工作正常,但当我登录http://localhost:1337/login
(当我在登录表单中输入值并提交时,它显示以下错误(URL不变):为什么显示res.login不是函数?
TypeError:res.login不是函数
我试着在网上搜索,但没有找到任何解决方案是否有任何语法错误或我使用旧技术
这里是必要的代码:?
module.exports = {
login: function (req, res) {
return res.login({
email: req.param('email'),
password: req.param('password'),
successRedirect: '/',
invalidRedirect: '/login'
});
},
logout: function (req, res) {
req.session.me = null;
if (req.wantsJSON) {
return res.ok('Logged out successfully!');
}
return res.redirect('/');
},
signup: function (req, res) {
User.signup({
name: req.param('name'),
email: req.param('email'),
password: req.param('password')
}, function(err, user){
if (err) return res.negotiate(err);
req.session.me = user.id;
return res.redirect('/welcome');
});
}
};
型号:user.js的
module.exports = {
attributes: {
email: {
type: 'email',
required: true
},
password: {
type: 'string',
required: true
}
},
signup : function(inputs, cb){
User.create({
name: inputs.name,
email: inputs.email,
password: inputs.password
}).exec(cb);
},
attemptLogin: function(inputs, cb) {
User.findOne({
email: inputs.email,
password: inputs.password
}).exec(cb);
}
};
login.ejs
<h1>Login</h1>
<form action="/login" method="post">
<label for="email">Your email address?</label>
<input name="email" type="text"/>
<br/>
<label for="password">Your safe word?</label>
<input name="password" type="password"/>
<br/>
<input type="submit"/>
</form>
routes.js
'/': {
view: 'homepage'
},
'get /login' : {view : 'user/login'},
'get /signup' : {view : 'user/signup'},
'get /welcome' : {view: 'user/welcome'},
'post /login' : 'UserController.login',
'post /signup' : 'UserController.signup',
'/logout' : 'UserController.logout'
你的代码是什么? –
和网站上写的一样。 –
在什么行和文件中引发错误? –