Node.js Express 获取request原始数据

本文介绍了在使用Node.js Express框架时,如何在客户端发送Content-Type为application/json的请求时,获取到request的原始数据。通过在注册bodyParser之前保存原始数据,可以解决bodyParser阻止req监听on和end事件的问题。
摘要由CSDN通过智能技术生成

app.use(bodyParser.json());
客户端请求接口时如果指名请求头类型 为Content-Type=application/json
bodyParser 会自动将 body 里的 json 格式数据正确解析,

// bodyParser 依赖 raw-body 库,raw-body库里面有这样一段代码

function cleanup() {
   received = buffer = null
   stream.removeListener('data', onData)
   stream.removeListener('end', onEnd)
   stream.removeListener('error', onEnd)
   stream.removeListener('close', cleanup)
}

  


这样导致在express里面req监听on, end事件是不会执行的.要想在express里面拿到request的原始数据

可以再注册bodyPaser之前先把原始数据保存起来.代码如下:

app.use(function(req, res, next){
    var reqData = [];
    var size = 0;
    req.on('data', function (data) {
        console.log('>>>req on'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值