如何在ExpressJS中的静态资产中使用`GET`和`POST`参数

时间:2017-05-09 20:30:39

标签: javascript node.js express get static-files

当使用PHP呈现使用GETPOST的请求参数的页面时,我们可以执行类似的操作:

<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是一个静态文件?

1 个答案:

答案 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>