在哪个属性表达res.json添加数据

时间:2017-08-16 10:54:02

标签: javascript node.js express middleware

发送响应后,我正在调用next(),这将转到我的帖子中间件。我想要获取我正在发送数据的数据。

res.status(200).json({username: 'abc'}); next()

现在在post中间件中我想访问该数据。

我试过res.on('data' ,function(chunk){})但没有运气。 如果res.someProperty = "some data"它也可以正常工作。

但我不能在json的情况下,因为我的代码已经编写,我必须使用中间件获取该数据,因为我有100个路由,我不想更改每个。因此,访问数据的唯一方法是使用中间件。

所以我的目的是在json中添加数据。像res.username或res.data.username。

App.js中间件代码

//pre-middleware
app.use(function(req, res, next){
    res.on('data', function(err, data){
        if(err) console.log(err);
        console.log('data', data);
    })
    console.log('######pre status', res.statusCode);
    next();


});

app.use('/', index);

//post-middleware
app.use(function(req, res, next){
    console.log('###########post');
    console.log( 'response', res.statusMessage);


})

index.js获取路由器代码

router.get('/middleware', function(req, res, next){

    res.status(201).json({
        username: 'awais'
    });

    next();

});

有人添加了与打印机身相关的解决方案,我提到首先我不想打印响应体,其次是那些解决方案尝试过但没有工作。

0 个答案:

没有答案