Nodejs Express sendStatus错误

Web应用程序使用快递服务器,nodejs作为语言,MongoDB作为数据库和mongoose作为包装。 Express在端口3000上运行服务器,我试图为一个集合实现一个基本的CRUD。

我以前用过restify,通常做一个res.send(406,“err – body”); 不会导致任何问题,但我似乎无法用明示的方式解决。

查看快速文档,res.status(404).send('Bad Request'); 是你如何发送一个自定义消息的状态代码。 它有效的时候有某种无效的input,但是当我试图保存到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并不是一个好主意。 我有一个下一个(); 这不适用于快递或它现在,但我不需要使用它。

而不是res.sendStatus() ,我改变了res.send() ,它运作的很好。