Node、Mongo、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);
    });
});

我不知道错误的根源在哪里。

盖茨比尔

错误:发送后无法设置标头

这意味着您发送了两次或更多次回复,这是不可能的。

出错时,你必须使用 return 否则 getTodos 函数将被调用,我猜你响应两次,第一次出错,第二次在 getTodos 函数中。

// delete a todo
app.delete('/api/todos/:todo_id', function (req, res) {
    Todo.remove({
        _id: req.params.todo_id
    }, function (err, todo) {
        if (err) {
            // added the return
            return res.send(err);
        }

        getTodos(res);
    });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

发送多个 mongo 查询后无法设置标头

来自分类Dev

Express / node.js发送后无法设置标头

来自分类Dev

node-rest-client:发送后无法设置标头。

来自分类Dev

Node.js/Firebase:发送后无法设置标头

来自分类Dev

错误:发送标头后无法设置标头-Node.js

来自分类Dev

在node.js中发送标头后无法设置标头

来自分类Dev

Node.js流(错误:发送标头后无法设置标头)

来自分类Dev

Node.js出现错误:发送标头后无法设置标头

来自分类Dev

Node.js:发送标头后无法设置标头

来自分类Dev

引入 res.render() 后,Node.js 发送后无法设置标头错误

来自分类Dev

Node.JS / Passport-错误:发送标头后无法设置标头。在ServerResponse.OutgoingMessage.setHeader

来自分类Dev

Node.js错误:发送标头后无法设置标头,有时会出现

来自分类Dev

带有node.js的http请求失败,发送后无法设置标头

来自分类Dev

Node.js:http.js:691抛出新错误(“发送后无法设置标头。”)

来自分类Dev

node.js/express 应用程序中的错误:发送后无法设置标头

来自分类Dev

Node / Express 添加<% include %> 时发送后无法设置标头

来自分类Dev

Node.js“发送后无法设置标头”错误消息

来自分类Dev

发送到客户端后无法设置标头 - Node/Mongoose/Express

来自分类Dev

Node.js UnhandledPromiseRejectionWarning:错误:发送后无法设置标头

来自分类Dev

将标头发送到node.js中的客户端后无法设置标头

来自分类Dev

使用 mongoose 和 node.js 将标头发送到客户端后无法设置标头

来自分类Dev

node.js错误-发送标头后无法发送标头

来自分类Dev

node.js错误-发送标头后无法发送标头

来自分类Dev

在node.js / mongoDB中更新时,无法在发送标头后设置标头

来自分类Dev

错误[ERR_HTTP_HEADERS_SENT]:将标头发送到客户端后无法设置标头-Node Express Mongodb

来自分类Dev

Node.js 344错误发送头后无法设置头

来自分类Dev

Node.js 344错误发送头后无法设置头

来自分类Dev

node.js应用程序:抛出新错误(“发送头后无法设置头。”)

来自分类Dev

发送后无法设置标头。节点

Related 相关文章

  1. 1

    发送多个 mongo 查询后无法设置标头

  2. 2

    Express / node.js发送后无法设置标头

  3. 3

    node-rest-client:发送后无法设置标头。

  4. 4

    Node.js/Firebase:发送后无法设置标头

  5. 5

    错误:发送标头后无法设置标头-Node.js

  6. 6

    在node.js中发送标头后无法设置标头

  7. 7

    Node.js流(错误:发送标头后无法设置标头)

  8. 8

    Node.js出现错误:发送标头后无法设置标头

  9. 9

    Node.js:发送标头后无法设置标头

  10. 10

    引入 res.render() 后,Node.js 发送后无法设置标头错误

  11. 11

    Node.JS / Passport-错误:发送标头后无法设置标头。在ServerResponse.OutgoingMessage.setHeader

  12. 12

    Node.js错误:发送标头后无法设置标头,有时会出现

  13. 13

    带有node.js的http请求失败,发送后无法设置标头

  14. 14

    Node.js:http.js:691抛出新错误(“发送后无法设置标头。”)

  15. 15

    node.js/express 应用程序中的错误:发送后无法设置标头

  16. 16

    Node / Express 添加<% include %> 时发送后无法设置标头

  17. 17

    Node.js“发送后无法设置标头”错误消息

  18. 18

    发送到客户端后无法设置标头 - Node/Mongoose/Express

  19. 19

    Node.js UnhandledPromiseRejectionWarning:错误:发送后无法设置标头

  20. 20

    将标头发送到node.js中的客户端后无法设置标头

  21. 21

    使用 mongoose 和 node.js 将标头发送到客户端后无法设置标头

  22. 22

    node.js错误-发送标头后无法发送标头

  23. 23

    node.js错误-发送标头后无法发送标头

  24. 24

    在node.js / mongoDB中更新时,无法在发送标头后设置标头

  25. 25

    错误[ERR_HTTP_HEADERS_SENT]:将标头发送到客户端后无法设置标头-Node Express Mongodb

  26. 26

    Node.js 344错误发送头后无法设置头

  27. 27

    Node.js 344错误发送头后无法设置头

  28. 28

    node.js应用程序:抛出新错误(“发送头后无法设置头。”)

  29. 29

    发送后无法设置标头。节点

热门标签

归档