Node.js 等待从数据库返回数据-ajax和express
我想我已经接近实现这个功能了,只是缺少了一些简单的东西,或者我的数据库查询功能设置不正确。目前,我没有收到任何返回的数据,因为承诺仍处于挂起状态,尽管它确实在控制台中注销 index.jsNode.js 等待从数据库返回数据-ajax和express,node.js,ajax,express,Node.js,Ajax,Express,我想我已经接近实现这个功能了,只是缺少了一些简单的东西,或者我的数据库查询功能设置不正确。目前,我没有收到任何返回的数据,因为承诺仍处于挂起状态,尽管它确实在控制台中注销 index.js async function leagueFixtures(league_name){ var data = await queries.league_fixtures(league_name); return data; } app.post('/league_fixtures', functi
async function leagueFixtures(league_name){
var data = await queries.league_fixtures(league_name);
return data;
}
app.post('/league_fixtures', function (req, res) {
var league_name = req.body.league_name;
const fixtures = leagueFixtures(league_name); // also tried await leagueFixtures(league_name) here but get a syntax error
console.log(fixtures);
res.json({success: true, data: fixtures })
});
Ajax请求
$.ajax({
url: '/league_fixtures',
type: 'POST',
dataType: "json",
data: { league_name: league_name },
success: function(data){
console.log(data);
},
error: function(jqXHR, textStatus, err){
alert('text status '+textStatus+', err '+err)
}
})
谁能看出我错在哪里,我误解了什么
谢谢
使express请求处理程序异步函数如下所示
@RolandStarke您似乎根本没有调用函数getFixtures谢谢,这很有效,我知道这很简单
app.post('/league_fixtures', async function (req, res) {
try {
var league_name = req.body.league_name;
const fixtures = await leagueFixtures(league_name);
console.log(fixtures);
res.json({success: true, data: fixtures })
} catch(err){
// do your error handling here
res.status(500).send({ error: 'Something failed!' })
}
});