Как получить значение для функции поиска в Node Js? - PullRequest
0 голосов
/ 08 января 2020

У меня есть эта функция для создания панели поиска с использованием Express Framework в Node.JS, Handlebars и MySQL. Соединение с MySQL уже функционирует, анализатор тела уже установлен, и я уже проверил запрос, закодированный прямо в phpmyadmin (без req.body), и он работал, но он не работает, когда я применил его к Node.JS

внутри руля :

<form role="form" action="naskah_form/search" method="get">
        <input type='text' name='titlesearch' id='q' placeholder='Enter a keyword...' required autocomplete='off'>
        <input type='submit' value='Search' id='submit'>
</form>

внутри naskah_form. js:

router.get('/search', (req,res)=>{
    let sql = "SELECT * FROM upload_test where title LIKE '% "+ 
         req.body.titlesearch + "%'"
    conn.query(sql, (err,results)=>{
    if (err) throw err
        res.json(results[0])
    })
})

module.exports = router

Я ожидаю Результатом было бы, по крайней мере, показать список json искомого слова, скажем, 'q'. URL-адрес http://localhost: 3000 / naskah_form / search? Titlesearch = q , но внутри он пуст. Кто-нибудь может подсказать мне, как подойти к этому вопросу?

1 Ответ

1 голос
/ 08 января 2020

если вы используете метод GET для отправки формы, используйте req.query.titlesearch:

router.get('/search', (req, res) => {
    console.log(req.query);
})

, если вы используете метод POST для отправки формы, тогда req.body.titlesearch

router.post('/search', (req, res) => {
    console.log(req.body);
})
...