我试图通过获取我在html表单中提交的值传递给后端并在SQL语句中使用它来查询我的AWS RDS数据库。这是我的表格:
Show all
<form method="GET" action="/all">
<select name="all">
<option value="crimes">Crimes</option>
<option value="schools">Schools</option>
<option value="walkscore">Walkscore</option>
</select>
data
<input type="submit" value="GO!">
</form>
这是我的JS代码:
app.get('/all',function(req,res){
var table = req.query['all'];
connection.query('SELECT * from ' + table, function(err, rows, fields) {
if(err) {
console.log(err);
res.send(500);
}
console.log('The solution is: ', rows);
connection.end();
res.send(rows);
});
});
当我这样做时,它会在很长一段时间后在我的控制台中打印出一个RowDataPackets列表,但随后出现错误
调用quit
后无法将Query排入队列
和
在调用quit后无法将Quit排入队列。
显然它正在连接到db,因为我正在获取行。但是,它在我的浏览器中挂起并发出内部服务器错误。
如何解决这个问题,将响应数据发送到我的表单上的同一个html页面进行前端解析?
答案 0 :(得分:0)
您在路由处理程序中{{}} end()
连接。
这意味着您无法再使用此连接。
您应该每次都建立新的连接。