Доброго времени. Итак, я вновь не врубаюсь
Пришёл в nodejs из php. Хочу попробовать переделать "инициативный" проект под nodejs, база mysql уже есть от старой версии. Возникла проблема с сессиями в express. В index.js делаю так:
var express = require('express');
var router = express.Router();
//----------подключаем базу данных и сессии
var mysql = require('mysql');
var session = require('express-session');
var MySQLStore = require('express-mysql-session')(session);
var optionsDB = {
host: 'localhost',
port: 3306,
user: 'user',
password: 'pass',
database: 'f724'
};
var connection = mysql.createConnection(optionsDB);
var sessionStore = new MySQLStore({
key: 'session_cookie_name',
secret: 'session_cookie_secret',
store: sessionStore,
resave: false,
saveUninitialized: false
}, connection);
connection.connect();
//----------------------------------------
/* GET home page. */
router.get('/', function(req, res, next) {
if (!req.session || !req.session.authOK) req.session = {authOK: false};
req.session['username']='Васёк';
res.render('index', {
username: req.session.username,
authOK : req.session.authOK });
var str = "SELECT * FROM sessions;";
connection.query(str, function(err, rows, fields) {
if (err) throw err;
console.log('сессии из базы - ' + rows[0]);
});
console.log('сессия в переменной - ' + req.session.username);
});
router.post('/login', function(req, res, next) {
console.log(req.session.username);
res.render('hello_user', { username: 'Васёк'});
});
module.exports = router;
В базе таблица для сессий создалась, но она пустая. Переменные сессии между обработчиками не передаются. Ответ на пост-запрос приходит с ошибкой 500. Если закомментить 51 строчку то ответ приходит с заголовком 200. В консоле вот:
Код:
|
urmp:server Listening on port 3000 +0ms
сессия в переменной - Васёк
GET / 304 434.248 ms - -
сессии из базы - undefined
GET /stylesheets/style.css 304 5.617 ms - -
GET /javascripts/jquery-3.2.1.min.js 304 12.212 ms - -
GET /javascripts/scripts.js 304 39.243 ms - -
GET /images/urmp-logo.png 304 0.546 ms - -
POST /login 500 45.453 ms - 1051 |
что я делаю не так? Способ использования сессий взял с гитхаб.