express.js request.url is always /



我刚刚用node.js和express创建了我的第一个应用程序。我只想打印出当前的url,所以我添加了以下行:

app.use('/test', function(request, response){
    console.log('current url is '+request.url);
    response.end();
})

现在,当我在localhost:3000/test-in的浏览器上运行时,会打印我:current url is / 。有人能给我解释一下吗?

我遇到了同样的问题,解决方案非常明显。。。

我有一个"明确的规则",比如:

app.all('*', function(req, res) {
    res.redirect('/')
})

这会自动将我重定向到"/"路线,所以它不起作用。。。

在你的情况下,我认为问题来自于你与express一起使用的keywork"use"。试试这个:

app.get('/test', function(request, response){
    console.log('current url is '+request.url);
    response.end();
})

尝试一下:

var Url = req.protocol + '://' + req.get('host') + req.originalUrl;

StackOverflow中的参考:如何在Express.js 中获取完整URL

最新更新