express.js request.url 总是 /
Posted
技术标签:
【中文标题】express.js request.url 总是 /【英文标题】:express.js request.url is always / 【发布时间】:2016-01-29 15:26:44 【问题描述】:我刚刚使用 node.js 和 express 创建了我的第一个应用程序。而且我只想打印出当前的网址,所以我添加了这些行:
app.use('/test', function(request, response)
console.log('current url is '+request.url);
response.end();
)
现在,当我在 localhost:3000/test 的浏览器上运行时,会打印出我:current url is /
有人可以向我解释一下吗?
【问题讨论】:
我想你可能还有另一个console.log,它打印'current url is /' 【参考方案1】:我也遇到了同样的问题,解决方法很明显...
我有一个“明确的规则”,例如:
app.all('*', function(req, res)
res.redirect('/')
)
这会自动将我重定向到“/”路由,所以它不起作用......
在您的情况下,我认为问题来自您与 express 一起使用的键“使用”。 试试这个:
app.get('/test', function(request, response)
console.log('current url is '+request.url);
response.end();
)
【讨论】:
使用 get 而不是 use 为我解决了这个问题。 app.use 实际上是挂载中间件而不是路由请求。【参考方案2】:试试这个:
var Url = req.protocol + '://' + req.get('host') + req.originalUrl;
Reference in ***: How to get full URL in Express.js
【讨论】:
以上是关于express.js request.url 总是 /的主要内容,如果未能解决你的问题,请参考以下文章
Express.js 对 Angular CORS 错误的响应
在 Express.js 中停止执行 Sequelize 承诺
为啥我的 Auth0 令牌从 iOS 发送到 node.js 服务器时总是返回无效?