如何获取 Node Js 中搜索功能的值?

How to get the value for the search function in Node Js?

我有这个功能可以使用 Node.JS、Handlebars 和 MySQL 中的 Express Framework 创建搜索栏。与 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 但里面是空白的。 谁能指导我如何解决这个问题?

如果您使用 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);
})