javascript - 添加 Integer 创建条目后的 ERR_EMPTY_RESPONSE node.js

标签 javascript mysql node.js

我使用 Node.js Express 和 sails.js 来构建我的应用程序。

当我向 View 中添加另一个输入时,它在保存时崩溃了。

ERR_EMPTY_RESPONSE

create: function(req, res){
    var title = req.body.title;
    var body = req.body.body;
    var kUser = req.body.kUser;

    Knowlege.create({title:title, body:body, kUser:kUser}).exec(function(err){ // kUser:kUser seems to be the problem
        if(err){
            res.send(500, {error: 'Database Error'});
        }
        res.redirect('/knowlege/list');
    });

终端错误:

Error: Can't set headers after they are sent.
at validateHeader (_http_outgoing.js:489:11)
at ServerResponse.setHeader (_http_outgoing.js:496:3) (...)

型号:

 module.exports = {
  attributes: {
    title:{
      type: 'string'
    },
    body:{
      type: 'text'
    },
    kUser:{
      type: 'integer',
      length: '11'
    }
  },
  connection:'MysqlServer'
};

最佳答案

错误发送后无法设置 header 意味着您在发送响应后尝试对其执行某些操作。

您的问题是,如果回调中出现错误,您在发送响应后不会结束流程。
由于您不这样做,因此也会发生重定向,但响应已发送。

只需添加 return 即可退出该函数:

if(err){
    return res.send(500, {error: 'Database Error'});
}
res.redirect('/knowlege/list');

关于javascript - 添加 Integer 创建条目后的 ERR_EMPTY_RESPONSE node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46879017/

相关文章:

javascript - 是否可以从 GeoJson 中提取 openlayers javascript map 的样式信息?

javascript - :Active style appears as being applied to random divs on tap in Mobile Safari

javascript - Lodash:使用函数数组转换单个值

javascript - NodeJs/expressjs : Run lengthy code in a callback

javascript - 如何使用 node.js 获取推文

angularjs - 未设置 Node.js 响应 header

javascript - 使用比较符号封装的数据类型初始化对象有什么好处,例如大于和小于?

mysql - 如何杀死mysql进程

java - 500 内部服务器错误 - Java webapp

mysql - 数据库中的多种编码