如果不使用bodyParser,您将如何访问表单数据

How would you access form data without using bodyParser?

本文关键字:访问 数据 表单 何访问 bodyParser 如果不      更新时间:2023-09-26

我总是看到bodyParser被用来让你访问发布的表单内容。通过使其在req.body中可访问。但是,如果您不想使用bodyParser,您将如何访问这些数据?

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

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

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();
  });
});

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

  • 街头艺人
  • 多党制
  • 令人生畏
  • 骡子

对此的粗略回答是使用https://github.com/stream-utils/raw-body解析请求正文,然后对结果运行JSON.parse。这就是主体解析器获取请求主体的方式,然后从中解析json、url和原始文本数据。