2017-09-24 106 views
0

最初,我正在讀取查詢參數,如var myId = req.param.("myId");,它在控制檯日誌中拋出關於棄用方法的警告消息。req.params返回undefined獲取路徑

正如其他人看到的警告和其他類似錯誤所示,我更新我的代碼以使用稍微不同的抓取查詢參數變體。

但是,當在控制檯中打印參數時,我得到所有參數的undefined值。

不知道爲什麼,並希望得到一些支持。謝謝。

r.get('/sport*', function depart(req, res) { 
     var myId = req.params.myId; 
     var sportType = req.params.sportType; 
     console.log("print params myID", myId); 
     console.log("print params sportTYPE", sportType); 
    }); 
} 
+0

PARAMS被定義使用冒號語法:'/:sportType' –

回答

1

因此,對於像/sport?myId=123&sportType=football&sportYear=2008路線,你實際上是在尋找查詢字符串,這裏是你會怎麼做:

r.get('/sport', function(req, res) { 
    var sportType = req.query.sportType; 
    var myId = req.query.myId; 
    var sportYear = req.query.sportYear; 
    console.log("print qS sportTYPE", sportType); 
    console.log("print qS sportYear", sportYear); 
    console.log("print qS myId", myId); 
}); 

如果你想使用參數,可以你可以代表你的URI這種方式(我覺得這更漂亮,而且也更好的搜索引擎):/sport/football/2008?myId=123

你會宣稱您的路線是這樣的:

r.get('/sport/:sportType/:sportYear', function(req, res) { 
    var myId = req.query.myId; 
    var sportType = req.params.sportType; 
    var sportYear = req.params.sportYear; 
    console.log("print qS sportTYPE", sportType); 
    console.log("print qS sportYear", sportYear); 
    console.log("print qS myId", myId); 
}); 
+0

使用快速和示例路線將是這樣的: HTTP://mysportserver.local/sport MYID = 123&sportType =足球&sportYear = 2008 – user2402135

+0

這些查詢字符串,而不是params,我會更新我的答案 –

+0

我已更新我的回答 –