Nano Hash - криптовалюты, майнинг, программирование

Сеанс express4.2.0 не определен

У меня возникли проблемы с установкой сеанса с node.js с использованием express4.2.0. Я покажу вам свой код и после того, как прокомментирую:


APP.js

var express         = require('express');
var path            = require('path');
var favicon         = require('static-favicon');
var logger          = require('morgan');
var cookieParser    = require('cookie-parser');
var bodyParser      = require('body-parser');
var cookieSession   = require('cookie-session');

var mainModel       = require('./model/main_model');

var users           = require('./routes/users');

app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

app.use(favicon());
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(cookieSession({
    keys: ['secret1', 'secret2']
}));
app.use('/users', users);
/*Evething that express makes automatically*/
app.listen(8080);

ПОЛЬЗОВАТЕЛИ.js

var express     = require('express');
var router      = express.Router();

router.get('/', function(req, res) 
{
    if(req.cookie && req.cookie.user) res.send("COOKIE");
    else if(req.session && req.session.user) res.send("SESSION");
    else    res.render('users/new_user', {title:"NEW USER"});
});
/*there is more content... but not relevant. */

function makeTheUserSession(result, res)
{
    result['go'] = '/users';
    //res.session.user = result.result[0];
    //res.cookie('user', result.result[0]);
    res.send(result);
}

Функция makeTheUserSession вызывается из поста метода '/users' (для поиска пользователей в базе данных).

Если я раскомментирую строку res.session.user, когда я вызову makeTheUserSession, приложение сломается, остановится, капито, мертво (невозможно установить свойство «пользователь» неопределенного)... Если я раскомментирую res.cookie («пользователь», результат ... строка, когда я вызываю функцию, и после того, как я вижу файлы cookie браузера в настройках, я нашел файл cookie, называемый пользователем, со значениями результата. результат [0]... но после метода get он не работает так, как я ожидаю... res никогда не отправляет мне "COOKIE".

Я видел один и тот же вопрос много раз, но я не нашел ответа, который стоил бы для меня: некоторые говорят о промежуточном программном обеспечении подключения (я использую экспресс), другие говорят об использовании «app.use (express.session (ключевое слово) )) но это работает только со старой версией экспресса, модуль экспресс-сессии устарел, и я бы хотел использовать более актуальное промежуточное ПО.

Надеюсь на ваши ответы. Большое спасибо.


Ответы:


1

Это req.session, а не res.session, исправьте это, и все будет хорошо.

06.10.2014
  • Спасибо. Я исправил это, и это работает ... большое спасибо. 06.10.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..