【问题标题】:Node JS, fetch values out of the scope and pass to Handlebars [duplicate]Node JS,从 MySQL 获取值并传递给 Handlebars [重复]
【发布时间】:2022-11-22 16:03:54
【问题描述】:

Here is the complete image

从第 56 行到第 67 行, 如果我在第 65 行检查我的结果,我得到一个未定义的错误(因为它在外面)

我怎样才能在那里得到结果???

这是我的路线,

app.get('/employ',(req,res) =>{

var q="select * from employee"
connection.query(q,(err,result) => {
    if (err) throw err;
    console.log("fetched values successfully...");
})

console.log(result);

res.render("addemploy.hbs")
})

【问题讨论】:

  • 尝试在connection.query...{}语法之上定义var data = null;,然后将result变量分配给connection.query...{}data = result;内的data变量,这样您就可以在connection.query...{}之外console.log(data);
  • 我试过了,现在数据是空的。

标签: javascript mysql node.js


【解决方案1】:

您在范围块(查询)之外使用results,将console.log(results)移到connection.query的范围内。如果您也希望在模板中使用结果,请将页面也呈现在范围内。确保在查询出错时呈现另一个页面。

app.get('/employ',(req,res) =>{
    const q = "select * from employee";
    connection.query(q,(err,result) => {
        if (err) return res.send(err);
        console.log("fetched values successfully...");
        console.log(result);

        res.render("addemploy.hbs", { data: result });
    });
});

【讨论】:

  • @Sankar 很高兴它对你有用!如果您愿意,请随时接受答案:)
猜你喜欢
  • 1970-01-01
  • 2021-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-22
  • 1970-01-01
  • 2017-01-12
相关资源
最近更新 更多