gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 04:22:33 25 4
gpt4 key购买 nike

当使用 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 是静态文件?

最佳答案

您可以通过在查询字符串中使用 RegularExperssion 来做到这一点

请求 URL 将如下所示 "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>

关于javascript - 如何在 ExpressJS 的静态资源中使用 `GET` 和 `POST` 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43879305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com