express.js request.url 总是 /

Hon*_*šil 2 node.js express

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

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

现在,当我在 localhost:3000/test 的浏览器上运行时,会打印出我:current url is / 有人可以向我解释一下吗?

Sub*_*raj 5

尝试这样做:

var Url = req.protocol + '://' + req.get('host') + req.originalUrl;
Run Code Online (Sandbox Code Playgroud)

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


Axe*_*ris 5

我有同样的问题,解决方案是如此明显......

我有一个“明确规则”,例如:

app.all('*', function(req, res) {
    res.redirect('/')
})
Run Code Online (Sandbox Code Playgroud)

这会自动将我重定向到“/”路线,因此它不起作用......

在您的情况下,我认为问题来自与 express 一起使用的关键工作“使用”。尝试这个:

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