如何访问 expressjs 给我的请求对象的原始主体?
var express = require('./node_modules/express');
var app = express.createServer();
app.post('/', function(req, res)
{
console.log(req.body); //says 'undefined'
});
app.listen(80);
原文由 Andrey Kon 发布,翻译遵循 CC BY-SA 4.0 许可协议
默认
express
不缓冲数据,除非您添加中间件。简单的解决方案是按照下面@Stewe 的答案中的示例进行操作,这将自己连接所有数据。例如这样做的缺点是您现在已经将所有 POST 正文内容作为一个连续的块移动到 RAM 中,这可能不是必需的。另一个值得考虑但取决于您需要在帖子正文中处理多少数据的选项是将数据作为流处理。
例如,对于 XML,您可以使用支持解析 XML 的 XML 解析器,因为它以块的形式出现。 XML Stream 就是这样一种解析器。你做这样的事情: