2016-09-21 46 views
-1

我有一個的NodeJS應用程序,在路徑文件的一個部分有這樣的代碼文件的目錄是指:是什麼:ID在的NodeJS

app.get('/summary/:id', function(req, res) { 
    req.logout(); 
    Session.findOne({_id: req.params.id}, function(err, result) { 
     if (err) { 
      console.log(err); 
      res.end(ERROR); 
      return; 
     } 
     res.render('summary.ejs', { 
      data: result._id, 
      name : result.name 
     }); 
    }); 
}); 

從這個代碼,我可以看到憑有效證件任何網站在地址的末尾,如http://localhost:8080/summary/57df24b26b79ea95037cc3a3等。經過長時間的搜索,我仍然不知道像:id這樣的格式。另外,這裏的id似乎不再出現。那麼,這是如何工作的?我試圖找到一些API或文檔來描述,但失敗了。

如果你能幫我弄清楚,我將不勝感激。

+0

這是一個動態路由,所以req.params.id將是摘要/在該特定請求後發生的任何形式 – StackOverMySoul

+0

它是Express使用的變量,請閱讀[documentation](http://expressjs.com/en/api.html #app.param) – adeneo

回答

0

就Node而言,這只是一個字符串。

它看起來像您使用快遞,在這種情況下,the documentation explains:所使用的

路由參數被命名爲URL段捕捉到他們的URL位置指定的值。捕獲的值將填充到req.params對象中,路徑中指定的路由參數的名稱作爲其各自的鍵。

app.get('/users/:userId/books/:bookId', function(req, res) { 
    res.send(req.params); 
}); 

此外,ID在這裏似乎沒有再出現

它的作用:req.params.id