nodejs的url参数获取

express封装了多种http请求方式,我们主要使用get和post两种,即qpp.get和qpp.post。qpp.get和qpp.post的第一个参数都为请求的路径,第二个参数为处理请求的回调函数,回调函数有两个参数,分别是req和res,代表请求信息和响应信息。路径请求及对应的获取路径有以下几种形式:

  • req.query

        //GET /search?q=tobi+ferret
        req.query.q;//"tobi ferret"
       //GET /shoes?order=desc&shoe[color]=blue&shoe[type]=converse
       req.query.order;//"desc"
       req.query.shoe.color;//"blue"
       req.query.shoe.type;//"converse"

  • req.body

       //POST user[name]=tobi&user[email][email protected]
       req.body.user.name;//"tobi"
       req.body.user.email;//[email protected]
       //POST {"name" : "tobi"}
       req.body.name;//tobi

  • req.params

      //GET /user/tj
      req.params.name;//"tj"
      //GET /file/javascripts/jquery.js
      req.params[j0];//"javascripts/jquery.js"

  • req.param(name)

      //?name=tobi
      req.param('name');//"tobi"
      //POST name=tobi
      req.param('name');//"tobi"
      // /user/tobi for /user/:name
      req.param('name');//"tobi"
由上述代码不难看出如下获取路径的含义:
req.query:处理get请求,获取get请求参数。
req.params:处理/:XXX形式的get或post请求,获取请求参数。
req.body:处理post请求,获取post请求体。
req.param():处理get和post请求,但查找优先级由高到低为req.params->req.body->req.query.

你可能感兴趣的:(nodejs)