添加整数来创build条目后,ERR_EMPTY_RESPONSE node.js

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

当我添加另一个input到我的视图时崩溃保存。

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

terminal出错:

 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意味着您正在尝试在响应发送之后执行某些操作。

您的问题是,如果发生回拨错误,您在发送回应后不会结束stream程。
既然你没有,redirect也发生了,但是响应已经发送了。

只需添加return即可退出该function:

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