Хранение сеансов посещений пользователей на одной странице - PullRequest
0 голосов
/ 23 марта 2020

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

Кажется, он вообще не работает, и я не могу понять, почему?

Код до сих пор:

var express = require('express'),
    handlebars = require('express-handlebars').create({defaultLayout: 'main'}),
    cookieParser = require('cookie-parser'),
    sessions = require('express-session');

var app = express();

app.use(sessions({
    secret: 'secretString',
    resave: true,
    saveUninitialized: false,
    cookie: { maxAge: 3600000 },
}));

app.use(cookieParser());
app.engine('handlebars', handlebars.engine);
app.set('view engine', 'handlebars');

app.set('port', process.env.PORT || 3000);

let date_ob = new Date(seconds);
let date = date_ob.getDate();
let month = date_ob.getMonth() + 1;
let year = date_ob.getFullYear();
let hours = date_ob.getHours();
let minutes = date_ob.getMinutes();
var visited = year + "-" + month + "-" + date + " " + hours + ":" + minutes;
// prints date & time in YYYY-MM-DD format
console.log(year + "-" + month + "-" + date);

app.get('/', function (req, res) {
    res.sessions.Assignment3Cookies = visited;
    res.send(["The last time you visited this page was" + " " + req.sessions.Assignment3Cookies]);
    res.render('main');
});

app.listen(app.get('port'), function(){
    console.log('Express started on http://localhost:' + app.get('port') + '; press Ctrl-C to terminate');
});

1 Ответ

0 голосов
/ 23 марта 2020

Попробуйте это:

app.get('/', function (req, res) {
    if (req.session.Assignment3Cookies) {
        // either send or render here YOU CANNOT HAVE BOTH
        res.send(["The last time you visited this page was" + " " + req.sessions.Assignment3Cookies]);
    } else {
        req.session.Assignment3Cookie = visited;
        res.send(["The last time you visited this page was" + " " + req.sessions.Assignment3Cookies]);
    }
});

Если вы хотите использовать res.render() посмотрите на этот пост здесь , вы можете передавать переменные из javascript к вашему template

И, как всегда, получайте удовольствие от кодирования.

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