我正在尝试使用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);
}
})
});
答案 0 :(得分:3)
您应该使用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);
})
});