に送られた後、ヘッダーを設定することはできません(ありません常にが、ほとんど)は、エラーがスローされます。ノード、モンゴ、Mongoos - 彼らは私がリモートデータベースを使用すると、いつでも私はレコードを更新または削除していますシンプルなTODO MEANアプリケーションを使用している間、私は奇妙な問題に直面しています
events.js:160
throw er; // Unhandled 'error' event
^
Error: Can't set headers after they are sent.
at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:357:11)
at ServerResponse.header (E:\Examples\mean-stack-todo\node_modules\express\lib\response.js:730:10)
at ServerResponse.json (E:\Examples\mean-stack-todo\node_modules\express\lib\response.js:253:10)
at E:\Examples\mean-stack-todo\app\routes.js:11:13
at E:\Examples\mean-stack-todo\node_modules\mongoose\lib\model.js:3800:16
at E:\Examples\mean-stack-todo\node_modules\kareem\index.js:220:48
at E:\Examples\mean-stack-todo\node_modules\kareem\index.js:131:16
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)
このエラーがPOSTで発生し、実装がどこにあるかDELETE:
app.post('/api/todos', function (req, res) {
// create a todo, information comes from AJAX request from Angular
Todo.create({
text: req.body.text,
done: false
}, function (err, todo) {
if (err) {
res.send(err);
}
// get and return all the todos after you create another
getTodos(res);
});
});
して、削除します。
// delete a todo
app.delete('/api/todos/:todo_id', function (req, res) {
Todo.remove({
_id: req.params.todo_id
}, function (err, todo) {
if (err) {
res.send(err);
}
getTodos(res);
});
});
エラーの原因がどこにあるかわかりません。
「getTodos(res)」は何をしますか –
あなたは1回以上応答を送信しています。 'getTodos'関数をチェックしてください。また、 'res.send(err);を' res.send(err);に返すように変更してください。 – Edgar