快速-替代重定向

时间:2018-11-20 14:41:03

标签: javascript node.js express

所以我想知道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");
});

注意:我需要一种方法,因为我陷入了重定向循环。

1 个答案:

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