request.body vs request.params vs request.query

Min*_*ang 3 javascript ajax http node.js

我有一个客户端JS文件,其中包含:

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

然后我有类似的东西

request.get(url) 
//or
request.post(url)
request.end( function( err, results ) {
        resultCallback( err, results, callback );
    } );
Run Code Online (Sandbox Code Playgroud)

在后端节点方面,我有 request.body,request.params而且有一些request.query

身体,参数和查询之间有什么区别?

Jos*_*eam 14

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

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

router.get('/user/:id', function(req, res) {});
Run Code Online (Sandbox Code Playgroud)

req.params将包含id.

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

{
  name: 'josh'
}
Run Code Online (Sandbox Code Playgroud)

这将是req.body.

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

查看Express文档.