req.path,req.params和req.query有什么区别?

时间:2018-10-22 09:52:29

标签: javascript angularjs node.js json express

有人可以解释node.js中req.pathreq.paramsreq.queryreq.body之间的区别吗?

3 个答案:

答案 0 :(得分:0)

除了req.path以外,您提到的所有实体都用于发送请求中的数据。其发送方式不同。

下面是一个清除您的想法的示例:

请求路径:

  • 当前请求的虚拟路径
  • URL:https:// stackoverflow.com/questions/52926562
  • 示例: req.path 将给您:52926562

要求参数:

  • 获取QueryString,Form,Cookie和ServerVariables项的组合集合。
  • www.dogsworld.com/1(路线:www.dogsworld.com/:dogId)

要求查询:

  • 客户端发送的查询字符串变量。键和值经过URL解码
  • www.dogsworld.com?breed=asian&name=tommy

请求正文:

  • 邮件正文
  • 示例: {     名称:“汤米”,     品种:“亚洲人” }

欢迎任何更新!

答案 1 :(得分:0)

req.path,req.params,req.query基本上是基于路由的操作的一部分。 1. req.path:返回给定请求URL的路径名。 2. req.params:用于获取请求url的参数值。 3.req.query:用于获取嵌入在请求url中的查询值。

示例:对于网址:https://your_url.com/52926562?value=“测试”

app.get('/:id', (req, res)=>{
    /*Return the path of the request*/
    console.log(req.path);
    /*Return the id of the request url*/
    console.log(req.params.id);
    /*Return the path of the request*/
    console.log(req.query.value);
    res.send('ok');
})

答案 2 :(得分:0)

1) req.path 用于获取用户点击的当前网址。

2) req.query 用于获取url中的查询参数。

3)请求正文用于获取用户发送的请求有效载荷。