我在嘗試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'
你的代碼是什麼? –
和網站上寫的一樣。 –
在什麼行和文件中引發錯誤? –