[英]ERR_EMPTY_RESPONSE node.js after adding Integer to create entry
I use node.js express and sails.js to build my app.我使用node.js express 和sails.js 来构建我的应用程序。
When I added another input into my view it crashed on save.当我在视图中添加另一个输入时,它在保存时崩溃了。
ERR_EMPTY_RESPONSE 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 in 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) (...)
Model:模型:
module.exports = {
attributes: {
title:{
type: 'string'
},
body:{
type: 'text'
},
kUser:{
type: 'integer',
length: '11'
}
},
connection:'MysqlServer'
};
The error Can't set headers after they are sent
means that you are trying to do something with your response after it was already sent. Can't set headers after they are sent
错误意味着您正在尝试在响应已发送后对其进行处理。
Your problem is that you don't end the flow after sending the response in case of an error in your callback.您的问题是,如果您的回调出现错误,您不会在发送响应后结束流程。
Since you don't, the redirection happens too, but the response was already sent.既然你没有,重定向也会发生,但响应已经发送。
Simply add return
to exit the function:只需添加return
退出函数:
if(err){
return res.send(500, {error: 'Database Error'});
}
res.redirect('/knowlege/list');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.