nodejs+Express 从get/post request 取值

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 是不起作用的

推荐阅读更多精彩内容