【发布时间】:2021-04-11 18:37:47
【问题描述】:
我想用我的 MySQL 数据库中的数据创建一个下拉列表,在这种情况下,我试图在填写“创建预算”表单时从“客户”表中提取名称并放置它们在一个选择选项中,我正在使用 EJS。但是,我在传递 EJS 数据时也遇到了问题,因为它在浏览器中给我一个错误(数据未定义)
这是我用来保存数据的控制器:
controller.save = function(req, res, next) {
const data = req.body;
req.getConnection((err, conn) => {
conn.query('SELECT nombre FROM clientes', (err, row) =>{
res.render('presupuestos_create', {
datos: row
})
});
conn.query('INSERT INTO presupuestos set ?', [data], (err, row) => {
res.redirect('/presupuestos');
});
});
};
这是mi EJS:
<form action="/presupuestos/add" method="POST">
<div class="mb-3">
<label for="cliente" class="form-label">Cliente</label>
<select class="form-select" id="cliente" name="cliente" tabindex="1" required>
<option>----</option>
<%for(var i=0; i < datos.length; i++){%>
<option value="<%= datos[i] %>"><%= datos[i] %></option>
<%}%>
</select>
</div>
【问题讨论】:
标签: javascript mysql node.js database ejs