Cannot read property 'login' of undefined

Рейтинг: 0Ответов: 1Опубликовано: 21.03.2015

Работаю в node.js. Пытаюсь передать данные из формы в app:

app.get('/add', function(res, req, next) {
var record = new Record({
   text: req.body.login,
   login: req.session.login
});
record.save(function(err, user, affected){
    res.redirect('/main', {
        login: req.session.login
    });
});
});

Выскакивает такая вот ошибка:

Cannot read property 'login' of undefined.

В форме и поле ввода все прописано, имя, метод и т.д. Самое интересное, что я делаю все то же самое немного ранее, все работает. Возможно, это связано с app.use(express.bodyParser());. Хотя через req.query.login тоже не работает.

Ответы

▲ 1

Предположу, что вы используете express для создания веб-приложения. В последней версии express была произведена чистка и многие встроенные вещи "перекочевали" в плагины. Так, например, для включения поддержки сессий вам нужно установить модуль express-session, а затем в коде

var session = require('express-session');
...

app.use(session({secret: 'my-secret'}));

После этого вы можете использовать req.session в своих маршрутах.

https://github.com/expressjs/session