我从客户端发出以下AJAX帖子:
function get_game_id(){
$.ajax({
type: "POST",
url: "/game",
data: {
homeTeam: homeTeam,
awayTeam: awayTeam,
date:date
},
cache: false,
success:function(results){
alert(results.insertId)
}
})
}
上面的警告为空。 在服务器上,我使用以下内容成功地将数据插入到数据库中:
router.post('/', function(req, res) {
console.log(req.body.homeTeam,req.body.awayTeam);
var connection = mysql.createConnection(global.dbSettings);
connection.connect(function(err,res) {
if (err) {
console.log(err);
} else {
console.log("connected.");
connection.query(
"INSERT INTO game(homeTeam,awayTeam,game_date) VALUES (?,?,?)",
[req.body.homeTeam,req.body.awayTeam,req.body.date],
function (err, results) {
if (err) {
console.log(err);
} else {
console.log("Game Created with Game_ID:"+results.insertId);
console.log(req.body.homeTeam,req.body.awayTeam,req.body.date);
}
});
connection.end(function (err) {
if (err) {
console.log("The connection could not be closed.");
} else {
console.log("The connection is closed.");
}
});
}
});
res.end();
});
正确插入数据。 insertId()函数正常工作,result.insertId正在打印到控制台。我无法将它传达给客户。
我在客户端需要这个。我认为它应该可以在成功函数中访问,但所有这些都是“TRUE”。
有人可以,请向我解释如何将此信息发送给客户?
答案 0 :(得分:0)
您没有收到刚才发送的数据,只是因为您没有发送,而是结束响应。
您可以将其发回req.body
内的内容,或者查询刚刚保存的所有内容。
你可以这样做:res.send({homeTeam: req.body.homeTeam, ....}
res.status(200).send('data saved');