2016-06-30 9 views
0

У меня есть две страницы, логин и myservices. После входа пользователя в систему они будут отправлены на страницу myservices, и их имя пользователя должно быть показано.Node.js: res.render или res.redirect? express-session

в login.js, у меня есть:

req.session.user = "abc"; 
res.redirect('/myservices'); 

и в myservices.js, у меня есть:

router.get('/', function(req, res, next) { 
    console.error("went through get in my services"); 
    console.error(req.session.user); 
    res.render('myservices', { 
    user: req.session.user 
    }); 
}); 

в моем шаблоне (myservices.ejs), я пытаюсь распечатать пользователя :

<%if(user){%> 
    <%=<p>user</p>%> 
<%}%> 

Всякий раз, когда я войти в систему, я попадаю на myservices страницу и консоль показывает

went through get in my services 
abc 

но в браузере он не распечатывает «abc», пока не обновит страницу. Почему не отображается в myservices.ejs в первый раз, но во второй раз?

Любая помощь очень ценится!

ответ

0

Вы еще не прошли местный показ в первый раз. Render в login.js вместо перенаправления и передачи локального.

req.session.user = "abc"; 
res.render('myservices', { 
    user: req.session.user 
}); 
+0

Если я визуализую из login.js в myservices, мой URL-адрес в конечном итоге будет/login. Я хочу, чтобы мой url был/myservices, есть ли способы достичь этого? –

 Смежные вопросы

  • Нет связанных вопросов^_^