Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Nodejs Express sendStatus错误_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Node.js Nodejs Express sendStatus错误

Node.js Nodejs Express sendStatus错误,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,该web应用使用express作为服务器,nodejs作为语言,mongodb作为数据库,mongoose作为包装器。Express在端口3000上运行服务器,我正在尝试为一个集合实现一个基本CRUD 我以前使用过restify,通常执行res.send(406,“err-body”);不会引起任何问题,但我似乎无法用express解决 查看express的文档,res.status(404).send(“错误请求”);是通过自定义消息发送回状态代码的方式。当存在某种无效输入时,但当我尝试保存到

该web应用使用express作为服务器,nodejs作为语言,mongodb作为数据库,mongoose作为包装器。Express在端口3000上运行服务器,我正在尝试为一个集合实现一个基本CRUD

我以前使用过restify,通常执行res.send(406,“err-body”);不会引起任何问题,但我似乎无法用express解决

查看express的文档,res.status(404).send(“错误请求”);是通过自定义消息发送回状态代码的方式。当存在某种无效输入时,但当我尝试保存到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

之后是否发送另一个响应?即。。。也许你在做这样的事情:

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

调用函数的任何位置(或粘贴代码后)。显然,这可能是错误的根源,因为您将发送两个单独的响应。

显然,将restify代码复制到express中不是一个好主意。我有第二次约会;这不适用于express,或者它可以,但现在我不需要使用它。

我改为
res.sendStatus()
,改为
res.send()
,效果很好。

我遇到了类似的问题,但这是因为我使用了res.sendStatus(404).json('myjson'),而不是res.status(404).json('myjson')。