request.body vs request.params vs request.query

时间:2016-08-26 22:46:11

标签: javascript ajax node.js http

我有一个客户端JS文件:

  

agent = require(' superagent'); request = agent.get(url);

然后我有类似

的东西
request.get(url) 
//or
request.post(url)
request.end( function( err, results ) {
        resultCallback( err, results, callback );
    } );

在后端Node端我有 request.bodyrequest.params,有些人request.query

正文,参数和查询之间有什么区别?

1 个答案:

答案 0 :(得分:10)

req.params是路由参数,req.body是请求的实际主体,req.query是任何查询参数。

例如,如果我声明这条路线:

router.get('/user/:id', function(req, res) {});

request.params将包含id

如果我将身体传递到这条路线:

{
  name: 'josh'
}

这将在request.body

如果我将一些查询参数传递给http://myserver.com/api/user?name="josh"request.query将为{ name: 'josh' }

查看Express docs