2013-03-13 66 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

相關問題