Вставка данных в модальный элемент начальной загрузки

#javascript #node.js #bootstrap-modal #node-postgres

Вопрос:

Есть ли способ отобразить результаты node-pg запроса в bootstrap-modal элементе?

Ниже приведен код в моем navbar.ejs файле, содержащий modal элемент, a form для ввода, который будет использоваться для запроса, и a button , который отправит запрос и переключит modal .

 <form class="form-inline my-2 my-lg-0" action='/performquery' method='post'>
   <input class="form-control mr-sm-2" id="name" name="name" type="text" placeholder="Search Name" aria-label="Search">
   <button class="btn btn-outline-success my-2 my-sm-0" type="button" id="search" data-toggle="modal" data-target="#nameinfo">Search</button>
</form>

                            <!-- Modal -->
<div class="modal fade" id="nameinfo" tabindex="-1" role="dialog" aria-labelledby="nameinfo" aria-hidden="true">
   <div class="modal-dialog modal-dialog-centered" role="document">
      <div class="modal-content">
         <div class="modal-header">
            <h5 class="modal-title" id="nameinfo">Job Information</h5>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
               <span aria-hidden="true">amp;times;</span>
            </button>
         </div>
         <div class="modal-body">
            <table class="table table-hover">
            <thead class="thead-light">
            <tr>
                <th scope="col">#</th>
                <th scope="col">Name</th>
                <th scope="col">Number</th>
            </tr>
            </thead>
            <tbody>
            <% var x = 1 %>
            <% nameObj.forEach(function(obj) { %>
                <tr>
                <th scope="row"><%= x %></th>
                <td><%= obj.name %></td>
                <td><%= obj.number %></td>
            <% x  ;}); %>
            </tbody>
        </table>
         </div>
         <div class="modal-footer">
            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
         </div>
      </div>
   </div>
</div>
 

В моем index.js файле у меня есть следующий маршрут:

 const db = require('./queries')

app.post('/performquery', db.performQuery)
 

И, наконец, в своем queries.js файле я пытаюсь запросить свою базу данных и вернуть результаты, которые будут отображаться в modal элементе:

 const performQuery = (request, response) => {
    const name = request.body;
    pool.query('SELECT * FROM contacts WHERE name=$1', name, (error, results) => {
        if (error) {
            throw error
        }
        var nameObj = results.rows;
        response.render('navbar.ejs', {
            nameObj: nameObj
        });
    })
}

module.exports = {
    performQuery,
}
 

Я думаю, что эта структура будет работать, но у меня возникли проблемы с пониманием того, как получить результаты для отображения в modal элементе.