2016-06-26 102 views
1

我使用redirect通过当前用户的用户名至其他网页的价值,所以......如何更改HTML标题

var current_user = encodeURIComponent(req.body.log_username); 
res.redirect('/home?valid=' + current_user); 

...接收页面有以下代码...

router.get('/', function (req, res) { 
    res.render('home', { title: 'Express' }); 
    var passedVariable = req.query.valid; 
    console.log(passedVariable); 
}); 

正确的用户名已通过,但我需要知道如何将用户名并入我的html。

例如,当HTML呈现,我想报头说"Welcome 'username'"

我怎样才能做到这一点?使用php这是相对简单的,但我对节点js的损失。

+1

为什么不使用实际的服务器端会话和存储用户信息的方式?坚持(会话)数据就像你所建议的那样*可能是危险的。 – mscdex

回答

2

您将发送登录请求并成功登录后,您将被重定向到/路线。在这里,你的代码中有usernamepassedVariable变量。您可以将此变量传递到主页面,您可以在页面中将其呈现。

router.get('/', function (req, res) { 
    var passedVariable = req.query.valid; 
    console.log(passedVariable); 
    res.render('home', { title: 'Express', username: passedVariable }); 
}); 

现在,您将在主页面模板中获得此变量,并且可以使用它。对于ejs,代码如下

<p><%= username %></p> 

对于jade

p= username 

模板端代码取决于您选择的技术,无论您是使用ejsjade