我正在使用快速节点。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??
作为补充,下面是一个从文档扩展而来的示例,它很好地包装了您需要了解的关于使用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;
在某些情况下,您应该使用:
req.path
这将为您提供路径,而不是完整的请求URL。例如,如果您只对用户请求的页面感兴趣,而不是对url的所有类型参数感兴趣:
/myurl.htm?allkinds&ofparameters=true
请求。path将为您提供:
/myurl.html
我自己玩了一会儿之后,你应该使用:
控制台。日志(原始要求)
问题内容: 我正在使用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中, 被使用了。 现在我想使用