在koa中,用了MySQL 数据库,前台用 ajax POST 请求数据库数据时,若将 ctx.body表达式写在 query 表达式中用以返回查询的数据给前台,会报 404 错误。下图写法
若将 ctx.body 写在query 查询方法外,则正常,但是无法获取到数据库查询的数据。 这是怎么回事啊?? 该怎么解决,既不报404又能将查询到的数据返回给前台ajax。下图写法
代码:
router.post('/query', async function(ctx, next) {
ctx.body = 'ok';
await connection.query('SELECT * FROM `notes` WHERE `title` = ?', ['434'],
function(err, rows, fields) {
if (!err) {
console.log(rows);
}
});
});
connection.query需要用promise封装下
如何封装可以参考这篇文:Node.js用ES6原生Promise对异步函数进行封装