2017-01-21 66 views
0

已經有一個similar thread這似乎相似,但在這裏我有一些不同的問題。如何在NodeJS中獲取完整的動態網址?

我想要URL的動態URL的完整URL。我爲我的所有網頁使用了一個常見的nunjuk模板。

讓我們面對它。假設我有一個URL路徑:

/博客/一/二/三相

值得注意的是,「博客」是靜態的,而是「一」,「二」,「三」是根據我網站上所要求的博客文章而變化的變量。

我使用下面的代碼通過傳遞「:post」來獲取URL,但是當我在url中添加更多路徑子目錄(比如「one」,「two」或「three」)時,我得到「找不到模板」錯誤。

router.get('/blog/:post', function (req, res) { 
      var path = req.params.post; 

      var title2 = JSONFile[path].title; 
      var date2 = JSONFile[path].date; 
      var author2 = JSONFile[path].author; 
      var content2 = JSONFile[path].content; 

      res.render('blogposts.html', { 
        title : title2, 
        date: "date2", 
        author: "author2", 
        content: "content2" 
      }); 
    }); 

我的問題是:如何獲得「/ blog」之後的所有動態URL子路徑?請記住,子路徑也可以延伸到「四」或「五」等等。

回答

0

我假設有一個,兩個和三個位置有3個參數,它們都是動態的,並且您想在代碼中使用這些參數後提供一些內容。你可以用這個代替它,

/blog/:year/:month/:day 

這樣,所有3個參數都是動態的,可以這樣來訪問,

var year = req.params['year'], 
    month = req.params['month'], 
    day = req.params['day']; 

如果有網址超過3個參數,那麼你可以追加更多這樣

/blog/:one/:two/:three/:four/:five 

,他們都佔位符可以從req.params

訪問
相關問題