Handlebars not showing data from Mysql
I'm using express, sequelize and data from Mysql to show a list of flights in a handlebars page. In my console the data is being displayed but in the handlebars page, nothing appears.
I just started learning handlebars and express usage in node so I'm a little bit clueless on how to solve this.
Here is what I've tried in app.js:
//importações de módulos
const express = require("express");
const app = express();
const handlebars = require("express-handlebars");
const path = require("path");
const Sequelize = require("sequelize");
//conectando com o banco
const sequelize = new Sequelize("db", "user", "password", {
host: "host",
dialect: "mysql"
})
sequelize.authenticate().then(function(){
console.log("deu certo!");
}).catch(function(){
console.log("aAaAaAaAaAaAai")
})
const Voo = sequelize.define("Voo", {
ID_VOO: {
type: Sequelize.INTEGER(100),
primaryKey: true,
autoIncrement: true,
},
ORIGEM: {
type: Sequelize.STRING,
allowNull: false,
},
DESTINO: {
type: Sequelize.STRING,
allowNull: false,
},
DT_PARTIDA: {
type: Sequelize.DATE,
allowNull: false,
},
DT_CHEGADA: {
type: Sequelize.DATE,
allowNull: false,
},
HR_SAIDA: {
type: Sequelize.TIME,
allowNull: false,
},
HR_CHEGADA: {
type: Sequelize.TIME,
allowNull: false,
},
VO_AERONAVE: {
type: Sequelize.INTEGER,
allowNull: false,
}
}, {tableName: "voo",
timestamps: false,
})
//sincronizando model com banco de dados
Voo.sync().then(() => {
console.log('Tabela sincronizada com sucesso');
})
.catch((error) => {
console.error('Erro ao sincronizar tabela:', error);
});
//buscando registros no banco
Voo.findAll().then((voos) => {
app.post("/passagensAereas", function(req, res){
res.render("passagensAereas", {voos: voos});
//res.send("testando" + req.body.Origem + "\n" + req.body.Destino + "\n" + req.body.dataSaida);
})
}).catch((error) => {
console.error('Erro ao consultar tabela:', error);
});
//=========================================================================================
//config
//template engine
app.engine('handlebars', handlebars.engine({defaultLayout: 'main'}));
app.set('view engine', 'handlebars');
app.use(express.urlencoded({extended: false}));
app.use(express.json());
app.use(express.static('public'));
//rotas
app.get("/", function(req, res){
res.render("index");
})
app.listen(8083, function(){
console.log("aAaAaAaAai está funcionando mesmo")
})
And here is my handlebars page:
<body>
<header>
<img src="img/Logo-SKYIFSP.png">
</header>
<section>
<div id="passagensAereas">
<h2>Passagens aéreas</h2>
<div id="box">
<h1>Lista de voos</h1>
<ul>
<li></li>
</ul>
</div>
</div>
</section>
<footer>
<h5 id="copyright">© 2022 - 2023 Symcode soluções de software - Todos os direitos reservados.</h5>
</footer>
</body>
Via Active questions tagged javascript - Stack Overflow https://ift.tt/aJ3Icz2
Comments
Post a Comment