Как сделать так, чтобы typeahead показывал информацию из mysql, используя nodejs и ajax - PullRequest
0 голосов
/ 02 мая 2019

Привет, я пытаюсь использовать typeahead, чтобы показать информацию из моей локальной БД (Mysql), используя nodejs и express, но это не работает

Я уже пытался использовать это руководство https://codeforgeek.com/ajax-search-box-using-node-mysql/, но этоне работает, и я не знаю, что еще я могу сделать

createSesions.js

router.get('/add/search', isLoggedIn, (req, res) =>
{
    dbConnection.query('SELECT fullname FROM pacientes WHERE fullname LIKE ?"%' + req.query.key + '%"',
        (err, rows, fields) =>
        {
            if (err) throw err;
            var data = [];
            for (i = 0; i < rows.length; i++)
            {
                data.push(rows[i].fullname);
            }
            res.end(JSON.stringify(data));
        }
    );
});

Ajax

$(document).ready(function ()
{
    $('input.typeahead').typeahead(
    {
        name: 'paciente',
        remote: 'http://localhost:3000/createSesiones/add/search?key=%QUERY',
        limit: 10
    });
});

Вход

<div class="form-group">
  <input type="text" class="form-control typeahead tt-query" name="paciente"
     placeholder="Asignar paciente" autofocus required>
</div>

Я ожидаю, что буду работать так, но покажу информацию из моего дБ

https://twitter.github.io/typeahead.js/

1 Ответ

0 голосов
/ 02 мая 2019

Хорошо, я решил это, удалив "?"

от этого:

dbConnection.query('SELECT fullname FROM pacientes WHERE fullname LIKE ?"%' + req.query.key + '%"',

На это:

dbConnection.query('SELECT fullname FROM pacientes WHERE fullname LIKE "%' + req.query.key + '%"',

и обновление jquery

...