Q:

Archivo html para contener la respuesta de consulta query

Tengo esta función para buscar por nombre los usuarios de una base de datos postgres:
const getUsers = async (req, res) => {
    const response = await pool.query('SELECT * FROM usuarios WHERE nombre = $1', [req.query.q]);
    res.json(response.rows);
}; 

En el index html se ingresa el nombre en un input y con el siguiente método me redirige a la siguiente url:
  buscar.addEventListener('click', function(e) {
  window.location.assign('/users?q=' + input.value);

Lo que necesito hacer es editar el código html de esta url donde me muestra los datos del usuario para mostrarlos en una tabla en que tome los datos del json. ¿Cómo puedo hacer para linkear un archivo html con esta url siendo que siempre va a ser distinta? (en función del nombre ingresado en el imput). (http://localhost:3000/users?q=santiago)

A:

Debes modificar la respuesta de la función de nodejs para que no responda el json que mostraste, sino que muestre el html de la tabla 
const getUsers = async (req, res) => {
    const response = await pool.query('SELECT * FROM usuarios WHERE nombre = $1', [req.query.q]);
    const rows = response.rows

    let html = `
        <table id="tabla">
            <thead>
                <tr>
                    <th>ID</th>
                    <th>Nombre</th>
                    <th>Origen</th>
                    <th>Empadronamiento</th>
                    <th>vacunas</th>
                    <th>vias_de_excepcion</th>
                </tr>
            </thead>
            <tbody>
                ${rows.map((row) => `
                    <tr>
                        <td>${row.id}</td>
                        <td>${row.nombre}</td>
                        <td>${row.origen}</td>
                        <td>${row.empadronamiento}</td>
                        <td>${row.vacunas}</td>
                        <td>${row.vias_de_excepcion}</td>
                    </tr>
                `).join('')}
            </tbody>
        </table>
    `

    res.send(html);
}; 

