Express.js-添加响应正文

时间:2016-09-21 08:35:19

标签: node.js express

我想在Express.js'中添加_mymodule属性。响应对象,每次body时都会调用, 我是通过添加以下代码作为中间件来实现的,

但由于某种原因,当我调用send method is called时,此函数被调用两次(一次是body是object,第二次是同一个对象而是一个字符串) 为什么被叫两次? 2.为何以及何时将其转换为字符串?

res.send

2 个答案:

答案 0 :(得分:7)

你可能正在使用这样的东西:

res.send({ foo : 'bar' });

换句话说,您将对象传递给res.send

这将执行以下操作:

  • 以对象
  • 调用res.send
  • res.send checks the argument type并发现它是一个对象,并将其传递给res.json
  • res.json将对象转换为JSON字符串,并再次调用res.send,但这次使用JSON字符串作为参数

答案 1 :(得分:5)

你必须使用res.json(body)。它将发送" body"作为一个反应体。确保身体应该是对象。