node.js 取参方法

1.req.body

 此方法通常解析post 请求中的数据,因此需要使用body-parser中间件才可以使用此方法;

栗子:

 1 var app = require('express')();
 2 var bodyParser = require('body-parser');
 3 var multer = require('multer'); // v1.0.5
 4 var upload = multer(); // for parsing multipart/form-data
 5 
 6 app.use(bodyParser.json()); // for parsing application/json
 7 app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
 8 
 9 app.post('/profile', upload.array(), function (req, res, next) {
10   console.log(req.body);
11   res.json(req.body);
12 });

2.req.query

 此方法多适用于GET请求,解析GET里的参数,无需中间件

栗子:

 1 // GET /search?q=tobi+ferret
 2 req.query.q
 3 // => "tobi ferret"
 4 
 5 // GET /shoes?order=desc&shoe[color]=blue&shoe[type]=converse
 6 req.query.order
 7 // => "desc"
 8 
 9 req.query.shoe.color
10 // => "blue"
11 
12 req.query.shoe.type
13 // => "converse"

3.req.params

无需中间件

栗子:

1 // GET /user/tj
2 req.params.name
3 // => "tj"
// GET /file/javascripts/jquery.js
req.params[0]
// => "javascripts/jquery.js"

req.query与req.params的区别:

req.params包含路由参数(在URL的路径部分),而req.query包含URL的查询参数。

猜你喜欢

转载自www.cnblogs.com/zhaohui-116/p/12346405.html