如何获取 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);
})
我有这个功能可以使用 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);
})