【问题标题】:Query params are not working in handlebars查询参数在车把中不起作用
【发布时间】:2020-12-24 20:03:14
【问题描述】:

这是我的代码:

    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?

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

有什么帮助吗?是否缺少其他参数?或者类似的东西?

我正在使用 express-handlebars 和 express

【问题讨论】:

    标签: javascript html node.js express express-handlebars


    【解决方案1】:

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

    <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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-03
      • 1970-01-01
      • 2021-06-19
      • 2018-08-03
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 2014-04-16
      相关资源
      最近更新 更多