Nodejs Express sendStatus错误

时间:2015-01-27 05:54:47

标签: node.js mongodb express mongoose

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。

3 个答案:

答案 0 :(得分:1)

之后你又发送了另一条回复吗?也许......也许你正在做类似的事情:

if (!err){
    res.send()
}

调用函数的任何地方(或粘贴代码之后)。显然,这可能是您错误的来源,因为您要发送两个单独的回复。

答案 1 :(得分:0)

显然,将restify代码复制到express中并不是一个好主意。我有一个();这不适用于快递或它的功能,但截至目前,我不需要使用它。

答案 2 :(得分:0)

而不是res.sendStatus(),我改为res.send(),而且效果很好。