簡體   English   中英

params哈希如何在express.js中工作?

[英]How does the params hash work in express.js?

我不明白參數是如何工作的。

我了解它是一個對象,但不確定它是如何工作或形成的?

閱讀文檔后: http : //expressjs.com/api.html#req.param

這是我與params哈希一起使用的似乎有效的代碼示例。

function showLoot(req,res) {
  var id = req.params.id;
  console.log(req.params.id);
  console.log(req.params);
  res.setHeader("Content-Type", 'text/html');
  res.send("<html><head><title>Adventures - NodeSlash</title></head><body><h1>Ogre-slaying knife</h1><p>It has +9 against ogres. It was id #" + id + "</p></body></html>");
}

這是路線:

app.get("/loot/:id",       showLoot);

什么是console.log來自

  console.log(req.params.id); // 1
  console.log(req.params); // [ id: '1' ]

如果我將另一個id傳遞給URL app.get('/ loot /:id')

我得到(通過時5)

 console.log(req.params.id; // 5
 console.log(req.params); // [ id: '5' ]

我猜這是一個對象數組嗎? 它存儲在哪里? 每個請求是否都具有神奇地制作的自己的params對象? 此外,如何將路徑號放在/ loot /:id中並將其放置? 為什么將':'添加到:id?

路由中的參數允許您使用可變組件處理一組路由。 例如,假設您要為系統中的每個用戶返回一個頁面。 您可以處理允許用戶ID參與其中的路由:

app.get('/user/:userId', function(req, res, next) { ... });

通過在:userId部分中使用冒號,是說對以/user/開頭並帶有一些值的任何路由運行此函數。

然后,Express將請求的值存儲在req.params對象中。 請參閱http://expressjs.com/api.html#req.params

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM