我正在尝试使用res.send将数据库中的所有数据发送回去,但是这使我出错。在前端,我正在调用端点select
,并尝试返回数据库中的所有行和数据。
app.get('/select', function (req, res) {
con.query('SELECT * FROM Contracts', function (err, rows, fields) {
if (err) {
console.log(`Error: ${err}`);
}
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
res.send(row);
}
})
});
最佳答案
您应该使用res.write
而不是res.send
,因为后者会终止该函数(第一次使用res.send
后,将不会执行任何操作)
app.get('/select', function (req, res) {
con.query('SELECT * FROM Contracts', function (err, rows, fields) {
if (err) {
console.log(`Error: ${err}`);
}
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
res.write(row);
}
res.end(); //this finally sends the response
})
});
或者,如果您想使用
res.send
发送整个rows
数组:app.get('/select', function (req, res) {
con.query('SELECT * FROM Contracts', function (err, rows, fields) {
if (err) {
console.log(`Error: ${err}`);
}
res.send(rows);
})
});