express 获取参数的三种方法 :
一、checks route params(req.params) , ex: /user/id
(通俗的说就是取带冒号的参数)
二、checks query string params(req.query) ,ex: ?id=12
三、checks url encodes body params(req.body), ex: id=
例子:
1、127.0.0.1:3000/index ,这种情况下,我们想得到index,我们可以通过使用req.params得到,这种方式可以很好地处理node中的路由处理问题,同时利用这点可以非常方便的实现MVC;
2、127.0.0.1:3000/index?id=12 ,这种情况下,这种方式是获取客户端get方式传过来的值,通过使用req.query.id就可以获得。类似于PHP的get方法。
3、127.0.0.1:3000/index , 然后post 了一个 id=2的值,这种方式是获取客户端post过来的数据,可以通过req.body.id获取,类似于PHP的post方法。
4、 express 3.0版本
// ?name=tobi
req.param(’name')
//==> “tobi"
//POST name=tobi
req.param(’name')
//==>”tobi"
// /user/tobi for /user/:name
req.param(’name')
//==> “tobi"
5、express 4.0 提供的方法
a、req.params
ex: //GET /user/tj
req.params.name
//==> “tj"
b、req.query
ex: // GET /search?q=tobi+ferret
req.query.q
//==> tobi ferret
//GET /shoes?order=desc&&shoe[color]=blue&&shoe[type]=comverse
req.query.order
//==> “desc"
req.query.shoe.color
//==> “blue"
req.query.shoe.type
//==>”comverse"
c、req.body
//req.body 一定是post请求,express里依赖的中间件必须有bodyParser,不然req.body 是不起作用的