当使用PHP呈现使用GET
和POST
的请求参数的页面时,我们可以执行类似的操作:
<p>Hello, <?php echo $_GET["name"]; ?>!</p>
当我们请求像/?name=Mike
这样的文件时,我们得到以下输出:
<p>Hello, Mike!</p>
使用Node JS和Express JS,我使用以下通用代码提供静态文件:
app.get('/user/:name', function(req, res) {
res.render('user.html', {
UserName: req.params.name
});
});
在user.html
中,我想使用类似的内容:
<p>Hello, <? document.write(UserName); ?>!</p>
<p>Hello, <? document.write(req.params.name); ?>!</p>
东西,切换到服务器端然后获取参数并显示在这里。有没有办法使用静态文件,其中user.html
是一个静态文件?
答案 0 :(得分:1)
Yo可以通过在查询字符串中使用RegularExperssion
来实现请求网址就像“http://servername/Profile?Name=Amir”
app.get(new RegExp("Profile(\\.(?:htm|html))?(\\?.*)?$"), function (req, res) {
var queryData = url.parse(req.url, true).query;
var Name = queryData.Name;
console.log(Name)
res.render(__dirname + "/Pages/AppView.ejs", {
username: Name ,
})
})
在ejs模板中的就像:
<h1> Welcome , <%= username %> </h1>