所以我想知道Express中是否有一种方法可以在不将用户重定向到html文件的情况下为用户加载特定页面。
所以不是res.redirect("https://mywebsite.com/subsite");
也许还有另一种方法可以加载不会触发
的子网站“ subsite.html”app.get(/\/subsite(?:\.html)?$/, function(){});
事件。
因此,我想捕获所有对/subsite
和/subsite.html
的呼叫,请检查是否浏览器/客户端 允许进入该站点。如果一切正确,我将让浏览器进入网站,否则我想实现重定向。
到目前为止,我得到的是:
app.get(/\/subsite(?:\.html)?$/, function(req, res) {
let isValid = checkIfUserIsValid() /* my own logic */
if (isValid) {
//how to load subsite.html on the client?
} else res.redirect("https://mywebsite.com/subsite");
});
注意:我需要一种方法,因为我陷入了重定向循环。
答案 0 :(得分:1)
app.get(“/xx“, (req, res) => {
let permissionsOk = // check your user's permissions
if (permissionsOk) {
res.send(/* regular page html */);
} else {
res.send(/* access denied html */);
}
});
想法是您可以有条件响应,并根据一些内部逻辑在同一条路径上提供不同的html