node.js獲取參數的常用方法


1、req.body

2、req.query

3、req.params

一、req.body例子

  body不是nodejs默認提供的,你需要載入body-parser中間件才可以使用req.body,這個方法通常用來解析POST請求中的數據

<form action='/test' method='post'> 
    <input type='text' name='name' value='lmw'> 
    <input type='text' name='tel' value='1234567'> 
    <input type='submit' value='Submit'> 
</form>
app.post('/test', function(req, res) {
    console.log(req.body.name);
    console.log(req.body.tel);
});

二、req.query例子

  有nodejs默認提供,無需載入中間件,這個方法通常用來解析get請求中的數據

GET /test?name=lmw&tel=123456789

app.get('/test', function(req, res) {
    console.log(req.query.name);
    console.log(req.query.tel);
});

三、req.query和req.body同時使有

<form action='/test?id=1' method='post'> 
    <input type='text' name='name' value='lmw'> 
    <input type='text' name='tel' value='123456789'> 
    <input type='submit' value='Submit'> 
</form>
app.post('/test', function(req, res) {
    console.log(req.query.id);
    console.log(req.body.name);
    console.log(req.body.tel);
});

四、req.params

另一種方法傳遞參數給服務器,但是這不算是傳統標准規范的做法,是屬於 HTTP Routing 的延伸應用

GET /test/lmw/123456789

app.get('/test/:name/:tel', function(req, res) {
    console.log(req.params.name);
    console.log(req.params.tel);
});

 總結:

  • req.query: 解析后的 url 中的 querystring,如 ?name=haha,req.query 的值為 {name: 'haha'}
  • req.params: 解析 url 中的占位符,如 /:name,訪問 /haha,req.params 的值為 {name: 'haha'}
  • req.body: 解析后請求體,需使用相關的模塊,如 body-parser,請求體為 {"name": "haha"},則 req.body 為 {name: 'haha'}

 歡迎加入大前端交流群!群號:277942610,VIP新群


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM