我需要在数据库中搜索是否存在传递值的用户。在前端的输入中询问该值。我需要传递 URL 中的值。 根据我的理解,正确的语法是:
<a href="/donaciones/buscar/{{cedula}}" class="btn btn-primary">Buscar</a>
我的手把部分是:
<label for="cedula">Cedula donante:</label>
<input type="number" name="cedula" id="cedula" value="" placeholder="Cedula donante" autofocus>
<a href="/donaciones/buscar/{{cedula}}" class="btn btn-primary">Buscar</a>
</div>
我的js文件部分看起来:
router.get('/buscar/:cedula', isLoggedIn ,async(req, res) =>{
const { cedula } = req.params;
const donante = await pool.query('SELECT * FROM donantes WHERE cedula = ?', [cedula]);
if (donante.length < 1) {
req.flash('message', 'Donante no registrado!');
res.redirect('/donantes/ingreso_donantes');
}else {
res.render('donaciones/donaciones_ingreso', { donante : donante[0] });
}
})
如果单击按钮,值“cedula”未通过,我会在屏幕上收到错误“Cannot GET /donaciones/buscar/”的问题,
无论如何,如果我只是在地址栏中写下数字,它就可以完美地工作:
localhost:3000/donaciones/buscar/4----,地址栏中的这一行完美运行,并在数据库中获取正确的用户,并将值正确返回到 handlebars 文件。
有什么想法吗?