2015-02-09 91 views
1

如何指定一個參數可以爲空的路由?快遞,如何製作一個路線處理空參數?

例如/:one?/:two?句柄/1/2,但不處理//2,我該怎麼做一條路線來抓住兩個uris?他們的

+0

都不是必需 - '//','/ 1 /'和'/ 1/2'應該共同努力 – Fluffy 2015-02-09 15:00:28

+0

如果'one'是空的請求變得'/ 2' ,而不是'// 2',如果'one'爲空,你所做的將會爲'/ 2'提供服務。 – 2015-02-09 15:00:46

+0

所以在這種情況下使用正則表達式 – 2015-02-09 15:01:34

回答

2
app.get(/\/(.*)\/(.*)/, function(req, res) { 
    var one = req.params[0]; 
    var two = req.params[1]; 
}); 
/a/b => {0:'a', 1:'b'} 
/a/ => {0:'a', 1:'' } 
//b => {0:'' , 1:'b'} 
// => {0:'' , 1:'' } 
+0

有沒有辦法做到這一點,保持參數名稱? – Fluffy 2015-02-09 16:03:53

+0

你的意思是'req.params.one/two'?恐怕不是。當你使用正則表達式時,你不能使用命名參數。 – laggingreflex 2015-02-09 16:19:32