gpt4 book ai didi

javascript - 如何将 MySQL JSON 对象从 connection.query() 传递到 res.render()

转载 作者:太空宇宙 更新时间:2023-11-04 02:21:26 24 4
gpt4 key购买 nike

正如标题所示,我在 connection.query() 函数之外从 MySQL 响应访问对象时遇到问题。

router.get('/', function(req, res) {

var testimonials;

// Running database queries
connection.query('SELECT * FROM testimonials', function(err, rows, fields) {
if (!err) {
testimonials = rows;
console.log(testimonials); // THIS WORKS
}
if (err) {
console.log('Error performing database query.');
}
});


res.render('index', {
title: 'Title',
description: 'Description in here.',
testimonials: testimonials // THIS RETURNS UNDEFINED
});
});

最佳答案

您应该将 res.render 放入回调函数中,例如:

router.get('/', function(req, res) {    
var testimonials;

// Running database queries
connection.query('SELECT * FROM testimonials', function(err, rows, fields) {
if (!err) {
testimonials = rows;

res.render('index', {
title: 'Title',
description: 'Description in here.',
testimonials: testimonials // this will work!!!
});
}
if (err) {
console.log('Error performing database query.');
}
});
});

注意:当您在回调函数外部使用 testimonials 时,您会得到 undefined,因为 connection.query 方法是异步的,它将在您的 res.render 方法之后运行。

关于javascript - 如何将 MySQL JSON 对象从 connection.query() 传递到 res.render(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33170866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com