NODE.JS Сессия не работает на другом пути - PullRequest
0 голосов
/ 21 апреля 2020

У меня проблема с сессией. У меня есть следующий код:

const express = require('express');
const mysql = require('mysql');
const cors = require('cors');
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');
const session = require('express-session');
const morgan = require('morgan');
const app = express();
const http = require("http");
app.use(cors());

app.use(bodyParser.urlencoded({ extended: true }));
app.use(cookieParser());

app.use(session({
  key: 'user_sid',
  secret: 'somerandonstuffs',
  resave: false,
  saveUninitialized: false,
  cookie: {
    expires: 600000
    }
    }));

app.use(bodyParser.urlencoded({
  extended: true
}));
app.use(bodyParser.json());

app.post("/login", function (req, resp) {
  console.log(req.body);
  loginQuery = `SELECT user_id, username, gold, powder, settings FROM users WHERE email = '${req.body.data.username}' OR username = '${req.body.data.username}' and password = '${req.body.data.password}'`;
  pool.query(loginQuery, function (error, rows) {
    if (error) {
      console.log(`Error :`);
      console.error(error);
    } else {
      if (rows.length===1) {
        req.session.userData = rows[0];
        resp.send(true);
      } else {
        return resp.status(400).send({
          error: 'Bad login data'
        });
      }
    }
  })
});

app.get('/getUserData', (req,resp) => {
  console.log(req.session);
  resp.send(userData);
});

Поскольку вы в / логин-маршруте я устанавливаю req.session.userData = rows[0];

Но когда я пытаюсь получить этот маршрут / getUserData, его там нет. Что мне делать? Я думаю, что я сделал это правильно, я проверял примеры в некоторых уроках, и везде это работает. Я также пытался установить сеанс на одном пути и получить его на другом, и это не сработало. Где моя проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...