Возможно, вам придется подумать об этом по-другому.Вы можете вызвать сеттер на вашем экспресс-экземпляре app
, и он установит переменную на app
, которую вы затем сможете получить позже, но это сделает ваш веб-сервер с состоянием .Веб-сервер с состоянием может быть очень глючным, если вы не знаете, что делаете.
Вместо этого вы можете получать данные и отображать шаблон в том же запросе POST.
app.post('/getdata', function(req, res){
res.render('/examplePage.SOMETEMPLATEENGINE', {
data: req.body.username
});
});
Или еще лучше, вы можете использовать экспресс-сессии или куки.Экспресс-сеансы могут быть настроены с использованием промежуточного программного обеспечения express-session и установлены следующим образом.
const session = require('express-session');
app.use(session({
name: "my-session-name",
secret: 'my-secret',
resave: false,
saveUninitialized: true,
store: // your prefered data store,
cookie: {
maxAge: oneDay
}
}));
для этого потребуется использовать data store
, так как сеансы хранят все конечныеИнформация о пользователях в базе данных.Если вам нужен более простой подход, насколько я понимаю, вы новичок, вы можете реализовать данные в файле cookie, используя cookie-parser .Я рекомендую вам прочитать документы.(не волнуйтесь, это не так сложно, как может показаться)
Реализация cookie может выглядеть следующим образом, если у вас установлено промежуточное ПО cookie-parser .
app.post('/setdata', (req, res, next) => {
// we will set a cookie here
res.cookie('mycookie', {username: req.body.username})
// this will set a cookie on the clients browser with whatever value you wan't
})
Теперь при каждом запросе клиент будет автоматически отправлять этот файл cookie на каждый маршрут, и мы можем получить к нему доступ следующим образом.
// future route the user visits
app.get('/showcookie', (req, res, next) => {
// we can access the cookie we set if the user has visited the previous route like
//this
let username = req.cookies.mycookie.username
// and you can do with it what you wan't afterward
})
Если вам нужно супер простое экспресс-приложение, которое показывает вам рабочий примеркуки-файлов вот ссылка на GitHub репо Я написал, чтобы показать некоторым из моих друзей, как куки-файлы работают в экспрессе.Надеюсь, это поможет.Всегда лучше узнать о том, с чем вы работаете, прежде чем переходить к чему-то другому, особенно когда вы работаете с пользовательскими данными.Приветствия.