Вам нужно очистить Cookie, прежде чем устанавливать новый.Самое главное, куки работают с доменом, а не с путями.Таким образом, в пути, где вы хотите установить cookie, вы должны проверить наличие существующего cookie, и если вы нашли его, вы должны удалить его, чтобы установить новый.
const cookieSession = require('cookie-session');
const express = require('express');
const app = express();
app.set('trust proxy', 1) // trust first proxy
app.use(cookieSession({
name: 'session',
keys: ['key1', 'key2']
}));
app.get('/abc', function(req, res, next) {
req.session = {
'views':'abc'
};
res.end(req.session.views + ' cookie value is set');
});
app.get('/xyz', function(req, res, next) {
req.session = {
'views':'xyz'
};
res.end(req.session.views + ' cookie value is set');
});
app.get('/test', function(req, res, next) {
res.end(req.session.views + ' cookie found');
});
app.listen(3000);
Это пример кода, где путь /abc
и /xyz
устанавливает различные значения для сеанса, и эти значения можно увидеть на пути /test
.
Так что, если вы сначала нажмете на /abc
route, а затем на /test
path, вы получите значение cookie {'views': 'abc'}
и если вы нажмете /xyz
, а затем нажмите /test
значение cookie будет {'viewa':'xyz'}
;