如何在不使用bodyParser的情况下访问表单数据?

Ada*_*ner 6 javascript node.js express

我总是看到bodyParser用于访问发布的表单内容.通过使其可访问req.body.但是,如果您不想使用,您将如何访问该数据bodyParser

相关/类似问题 - 如何bodyParser为您提供数据req.body

编辑:我问的是这些东西在低级别上是如何工作的.这种可能的重复似乎是通过推荐某些中间件并描述如何使用它们来解决它.

小智 12

bodyParser是一个中间件,它将数据流解析为json.我看不出不使用bodyParser的原因(如果你不想处理多部分体),但如果你愿意,你可以自己解析流式传输.它将类似于下面的中间件:

app.use(function( req, res, next ) {
  var data = '';
  req.on( 'data', function( chunk ) {
    data += chunk;
  });
  req.on( 'end', function() {
    req.rawBody = data;
    console.log( 'on end: ', data )
    if ( data && data.indexOf( '{' ) > -1 ) {
      req.body = JSON.parse( data );
    }
    next();
  });
});
Run Code Online (Sandbox Code Playgroud)

如果要解析多部分主体,可以使用以下模块之一:

  • 打杂
  • 多党
  • 强大
  • multer