Когда вы используете res.redirect
, он отправляет клиенту ответ с заголовками redirect
, а затем клиент инициирует новый запрос, поэтому все предыдущие данные будут потеряны.
Вы можно использовать метод app.set()
для установки данных и получения их по другим маршрутам.
Пример.
router.post('/signin' , myAuth, signIn);
function signIn (req , res , next){
app.set('userId', req.userId);
console.log(req.userId, 'woooooooooooooorked');
res.redirect(303 ,'/dashboard');
}
router.get('/dashboard' , dashboard) ;
async function dashboard(req ,res ,next){
console.log(req.userId , '*********');
let scanResult = await Model.get(app.get('userId'));
console.log(scanResult , 'dashboard');
res.status(200).send(scanResult);
}
Или вы можете использовать query strings
для передачи данных.
Пример:
router.post('/signin' , myAuth, signIn);
function signIn (req , res , next){
console.log(req.userId, 'woooooooooooooorked');
res.redirect(303 ,'/dashboard?userId=' + req.userId);
}
router.get('/dashboard' , dashboard) ;
async function dashboard(req ,res ,next){
console.log(req.userId , '*********');
let scanResult = await Model.get(req.query.userId);
console.log(scanResult , 'dashboard');
res.status(200).send(scanResult);
}