2013-03-13 90 views
2

假设我为/ x/AAA设置了一条路由。我如何获取/ y/AAA的请求以处理/ x/AAA,但代码也知道它最初是通过/ y /来发送的,以便它可以启用调试。express.js中的服务器端“重定向”

我基本上是服务器端重定向之后,类似于ASP.NET中的Server.Transfer。

回答

2

这在Express中不是很常见(因此没有明显的解决方案)。

你当然可以使用相同的处理器为两条路线:

var handler = function(req, res) { 
    ... 
}; 
app.get('/x/AAA', handler); 
app.get('/y/AAA', handler); 

在你的处理器,你可以检查req.path,看看哪条路线被调用。

+0

感谢,这将工作,但我已经有很多路线在/ x/... – eug 2013-03-13 12:00:19

+1

你可以使用'app.get('/ x /:sub',handler)'或'app.get (/^\/x\/.*$/,handler)'而不是匹配它们,如果适当的话。 – robertklep 2013-03-13 12:06:02

相关问题