gpt4 book ai didi

javascript - Express 中的动态 URL 和静态路由

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

我想静态渲染一个在 Express 中使用动态 url 的页面。

具体来说,

我有一个论坛,用户可以在其中发帖,每个帖子都有一个动态 URL,当用户单击关联的 anchor 链接时,该动态 URL 会显示该帖子:

localhost:8080/posts/postNumber

我有一个静态 html 页面 localhost:8080/posts/。

我想要用户单击的动态链接来呈现静态页面 localhost:8080/posts/,但显示 url localhost:8080/posts/postNumber,以便我可以在 AJAX 请求中使用帖子编号。

有什么方法可以在不进行动态渲染的情况下实现这一点吗?

最佳答案

您可以像这样定义 url 参数:

app.get('/posts/:postNumber/', function (req, res) {
// do stuff (or not) with req.params which will have
// {postNumer: yourValue}

var options = {
root: __dirname + '/public/',
dotfiles: 'deny',
headers: {
'x-timestamp': Date.now(),
// other headers you might want
}
};

var fileName = 'staticFileName';
res.sendFile(fileName, options, function (err) {
if (err) {
next(err);
} else {
console.log('Sent:', fileName);
}
})
})

这将匹配 /posts/[anything_you_want] 并发送在选项中指定的目录中指定其 fileName 的文件名。这基于此处的 Express 4 文档:http://expressjs.com/en/api.html#res.sendFile

关于javascript - Express 中的动态 URL 和静态路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46881535/

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