Web应用程序使用express作为服务器,nodejs作为语言,mongodb作为数据库,mongoose作为包装器。 Express正在端口3000上运行服务器,我正在尝试为集合实现基本的CRUD。
我以前用过restify并且通常做res.send(406,“err - body”);不会引起任何问题,但我似乎无法用快递来解决这个问题。
查看express'文档,res.status(404).send('Bad Request');是如何发送带有自定义消息的状态代码。当有某种无效输入但我尝试保存到mongodb
时它会工作newSchema.save(function(err){
if (err) {
res.status(500).send('error saving');
} else {
res.sendStatus(200);
}
});
并调用res.sendStats(200);它给了我错误:错误:发送后无法设置标头。使用httprequester时,错误为404,无法POST / user / create。
答案 0 :(得分:1)
之后你又发送了另一条回复吗?也许......也许你正在做类似的事情:
if (!err){
res.send()
}
调用函数的任何地方(或粘贴代码之后)。显然,这可能是您错误的来源,因为您要发送两个单独的回复。
答案 1 :(得分:0)
显然,将restify代码复制到express中并不是一个好主意。我有一个();这不适用于快递或它的功能,但截至目前,我不需要使用它。
答案 2 :(得分:0)
而不是res.sendStatus()
,我改为res.send()
,而且效果很好。