我是Node的新手,并尝试开发一些初始应用程序。我目前正通过Node将记录插入数据库(MySQL)。我的帖子方法就像
router.post('/add',function(req,res){
connection.connect();
var firstName = req.body.FirstName;
var lastName = req.body.LastName;
students.push({
//id: studentList.length+1,
FirstName: firstName,
LastName: lastName
});
var post = {FirstName: firstName, LastName: lastName};
connection.query('INSERT INTO tblstudent VALUES ? ', post,function(err,result){
if (err) {
res.send("There was a problem adding the information to the database.");
}
});
res.redirect('/');
connection.end();
});
其中Id是另一列但自动递增,所以我尝试插入记录。我遇到以下错误。
答案 0 :(得分:1)
错误:发送后无法设置标头
此错误表示已设置但尚未设置的标头正在尝试设置。
在您的情况下,您已拨打res.redirect()
,完成了回复。然后你的代码抛出了一个错误,因为查询失败了,你试图设置一个响应:
" res.send("将信息添加到数据库时出现问题。");"。
为了解决问题,您应该将res.redirect('/');
移动到查询的回调函数中。
connection.query('INSERT INTO tblstudent VALUES ? ', post,function(err,result){
if (err) {
res.send("There was a problem adding the information to the database.");
} else {
res.redirect('/');
}
});