查询参数在车把中不起作用

问题描述

这是我的代码

    app.get("/editar-equipo?:id",(req,res) => {
    
    const equipos = obtenerEquipos()
    let equipoSeleccionado 
    
    for(let i = 0; i < equipos.length; i++){
        if(equipos[i].numeroId === Number(req.query.id)){
            equipoSeleccionado = equipos[i]
        }
    }
    
    

res.render("edit-team",{
        layout: "header",data: {
               equipoSeleccionado
        }
    })
})

我的车把html是

 <td>
    <form id="editar-equipo" method="GET" action="/editar-equipo?id={{equipo.numeroId}}">
      <button type="submit" class="btn btn-warning">Editar</button>
    </form>
  </td>

按钮创建良好:

<form id="editar-equipo" method="GET" action="/editar-equipo?id=58">
      <button type="submit" class="btn btn-warning">Editar</button>
    </form>

但是当我单击按钮时,它不起作用。加载

> http://localhost:3030/editar-equipo?

但是,如果我在网址栏中手动写入http:// localhost:3030 / editar-equipo?id = 58,则它可以正常工作,并且团队可以正常加载。

有帮助吗?是否还有其他参数丢失?还是类似的东西?

我使用快递车把和快递车

解决方法

我已经测试过你的情况了。浏览器删除问号后的所有查询。因此,您需要在input元素内放置一个隐藏的form

<form id="editar-equipo" method="GET" action="/editar-equipo">
    <input type="hidden" name="id" value="58">
    <button type="submit" class="btn btn-warning">Editar</button>
</form>