我想在Express.js'中添加_mymodule
属性。响应对象,每次body
时都会调用,
我是通过添加以下代码作为中间件来实现的,
但由于某种原因,当我调用send method is called
时,此函数被调用两次(一次是body是object,第二次是同一个对象而是一个字符串)
为什么被叫两次?
2.为何以及何时将其转换为字符串?
res.send
答案 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"作为一个反应体。确保身体应该是对象。