【问题标题】:Node.js Express.js: Getting the body of a sent responseNode.js Express.js:获取已发送响应的正文
【发布时间】:2016-09-21 17:05:06
【问题描述】:

我的代码示例如下:

middlewareA(req,res,next){
  res.send('some msg to client');
  next()
}
middlewareB(req,res,next){
  var sent_msg_body = res.<some method\property to get body>
  logger.info(sent_msg_body);     
}

我想检索使用res.send(msg); 发送的msg

Express.js's res 对象中是否有一个选项可以在响应已经发送后执行此操作?

【问题讨论】:

  • 这个问题你能说得更具体点吗?
  • 为什么你想从 res 对象获取发送的信息,而你可以在 res.send() 期间获取它?
  • 它是一个中间件,我想在下一个中间件中获取 msg,它位于发送 msg 之后的中间件。
  • 你能把你的代码贴在这里吗?这样解决起来就更清楚了。
  • 这似乎取决于您使用的 Express 版本。这个现有问题的答案显示了如何在多个版本中修改中间件中的响应(在多个答案中):stackoverflow.com/questions/9896628/… - 相同的逻辑应该只允许您获取它。

标签: node.js express


【解决方案1】:

你可以使用request对象来获取它

这样做:

middlewareA(req,res,next){
  res.send('some msg to client');
  req.message='some msg to client';
  next();
}
middlewareB(req,res,next){
  var sent_msg_body = req.message
  logger.info(sent_msg_body);     
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多