如何使用express访问get请求的结果(对象)?

时间:2017-07-26 14:05:32

标签: mysql json node.js object express

这是我对mysql表的获取请求

app.get('/', (req, res) => {
let sql = 'SELECT * from emarttesttable WHERE id = 229';
let query = db.query(sql, (err, results) => {
    if(err){console.log(err);}
    else{
        console.log(results);

    }
});
res.render('index');

});

目前,这个函数允许我从表中获取我想要的信息,我可以通过console.log读取结果。但是,我无法在index.ejs页面上访问结果。

如何在index.ejs文件中访问结果(包含我想要的东西的对象)?每当我尝试访问结果时,它都表示结果未定义。如何确保能够在不同的页面上使用/访问由于对表的调用而创建的对象。目前,我只想创建一个简单的表,其中一列中的键和第二列中的值。

1 个答案:

答案 0 :(得分:0)

您需要修改代码,如下所示。原因是db.query是异步操作,您尝试在异步请求完成之前呈现。此外,为了能够在模板引擎上获得结果,您需要将结果传递给渲染。 (index.ejs)

2.method(:hours)
=> #<Method: Fixnum(Numeric)#hours>