繁体   English   中英

添加整数以创建条目后的 ERR_EMPTY_RESPONSE node.js

[英]ERR_EMPTY_RESPONSE node.js after adding Integer to create entry

我使用node.js express 和sails.js 来构建我的应用程序。

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

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'
};

Can't set headers after they are sent错误意味着您正在尝试在响应已发送后对其进行处理。

您的问题是,如果您的回调出现错误,您不会在发送响应后结束流程。
既然你没有,重定向也会发生,但响应已经发送。

只需添加return退出函数:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM