当前位置: 首页 > 知识库问答 >
问题:

如何使用express req对象获取请求路径

纪枫
2023-03-14

我正在使用快速节点。js和我有一个req对象,浏览器中的请求是/account,但当我记录req时。我得到的路径是“/”--不是“/account”。

  //auth required or redirect
  app.use('/account', function(req, res, next) {
    console.log(req.path);
    if ( !req.session.user ) {
      res.redirect('/login?ref='+req.path);
    } else {
      next();
    }
  });

req.path/什么时候应该 /account??

共有3个答案

伏子辰
2023-03-14

作为补充,下面是一个从文档扩展而来的示例,它很好地包装了您需要了解的关于使用express在所有情况下访问路径/URL的所有信息:

app.use('/admin', function (req, res, next) { // GET 'http://www.example.com/admin/new?a=b'
  console.dir(req.originalUrl) // '/admin/new?a=b' (WARNING: beware query string)
  console.dir(req.baseUrl) // '/admin'
  console.dir(req.path) // '/new'
  console.dir(req.baseUrl + req.path) // '/admin/new' (full path without query string)
  next()
})

基于:https://expressjs.com/en/api.html#req.originalUrl

结论:正如c1moore的回答所述,使用:

var fullPath = req.baseUrl + req.path;
殷安顺
2023-03-14

在某些情况下,您应该使用:

req.path

这将为您提供路径,而不是完整的请求URL。例如,如果您只对用户请求的页面感兴趣,而不是对url的所有类型参数感兴趣:

/myurl.htm?allkinds&ofparameters=true

请求。path将为您提供:

/myurl.html
柳钟展
2023-03-14

我自己玩了一会儿之后,你应该使用:

控制台。日志(原始要求)

 类似资料:
  • 问题内容: 我正在使用express + node.js,并且我有一个req对象,浏览器中的请求是/ account,但是当我登录req.path时,我得到的是’/’ —不是’/ account’。 req.path是/何时应该是/ account? 问题答案: 在自己玩了一点之后,您应该使用:

  • 如何从HttpSessionAttributeListener获取请求对象以查找用户的IP地址? 谢谢

  • 问题内容: 我现在正在尝试使用Java Cord中的HTTP请求获取JSON对象。 我想知道如何在下面的代码中获取响应或JSON对象。 请告诉我。 (在此程序中,我尝试获取文章“ New York”的Wikipedia类别。) 问题答案:

  • 问题内容: 我有一个网址: 和相对路径: 我想使用变量和 怎么做? 问题答案:

  • 问题内容: 我有一个名为“ localhost:3000 / returnStat”的服务,该服务应将文件路径作为参数。例如“ /BackupFolder/toto/tata/titi/myfile.txt”。 如何在浏览器上测试此服务?例如,如何使用Express格式化此请求? 问题答案: 我尚未测试您的代码,但其他方法可行 如果您想从请求网址获取路径信息 1.如果您获取的URL参数仍然无法读取

  • 我用AJAX提交JSP页面, 在我的Servlet中, 被使用了。 现在我想使用