Параметры запроса не работают в handlebars

#javascript #html #node.js #express #express-handlebars

#javascript #HTML #node.js #выразить #express-handlebars

Вопрос:

Вот мой код :

     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-файл handlebars является

  <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 в строке URL он работает правильно, и команды загружаются нормально.

Любая помощь? Отсутствует ли какой-либо другой параметр? Или что-то в этом роде?

Я использую express-handlebars и express

Ответ №1:

Я уже проверил ваш случай. Браузер удаляет все запросы после вопросительного знака. Итак, вам нужно поместить скрытый 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>