我总是看到bodyParser用于访问已发布的表单内容。通过req.body
访问它。但是,如果您不想使用bodyParser
?
相关/类似问题 - bodyParser
如何为您提供req.body
中的数据?
编辑:我在询问这些东西是如何在低级别上运作的。这possible duplicate似乎是通过推荐某些中间件并描述如何使用它们来解决它。
答案 0 :(得分:11)
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();
});
});
如果要解析多部分主体,可以使用以下模块之一:
答案 1 :(得分:1)
粗略回答这个问题是使用https://github.com/stream-utils/raw-body来解析请求主体,然后在结果上运行JSON.parse。这就是body-parser获取请求体的方式,然后它从中解析json,url和原始文本数据。