nodejs如何识别接口(Node实现搜索框进行模糊查询)
类别:编程学习 浏览量:494
时间:2021-10-22 07:52:44 nodejs如何识别接口
Node实现搜索框进行模糊查询本文实例为大家分享了Node实现搜索框进行模糊查询的具体代码,供大家参考,具体内容如下
一、需求
点击导航栏中的搜索图,出现搜索框,从而进行文章的模糊查询
二、建表
1.blog表
添加外键:
2.nav表
3.type表
4.user表
三、页面及样式
like.ejs:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>查询</title> <link rel="stylesheet" href="/css/bootstrap.min.css" > <link rel="stylesheet" href="/css/index.css" > <script src="js/jquery-3.3.1.min.js"></script> <script src="js/index.js"></script> </head> <body> <%-include('detachPart/nav.ejs')%> <%-include('detachPart/search.ejs')%> <li class="container"> <li class="row"> <li class="col-lg-9"> <%-include('bigPart/ownblog.ejs')%> </li> <li class="col-lg-3"> <%-include('smallPart/recommend.ejs')%> <%-include('smallPart/rank.ejs')%> <%-include('smallPart/rightimg_1.ejs')%> <%-include('smallPart/information.ejs')%> <%-include('smallPart/mylink.ejs')%> </li> </li> </li> <%-include('detachPart/footer.ejs')%> </body> </html>
search.ejs:
<li class="container searchclose"> <form action="/like" method="GET"> <input name="link" type="text" placeholder="请输入关键字词"> <input type="submit" value="搜索"> <img class="closebtn" src="image/icon/close.jpg" alt="nodejs如何识别接口(Node实现搜索框进行模糊查询)" border="0" />
index.css:
.searchclose{ display: none; position: relative; margin: 0.5rem auto; padding: 1rem 0; text-align: center; background-color: white; } .searchclose input:nth-child(1){ width: 25rem; height: 2.2rem; outline: none; font-size: 0.9rem; padding-left: 0.5rem; border: 1px solid silver; box-sizing: border-box; vertical-align: middle; } .searchclose input:nth-child(2){ display: inline-block; width: 10rem; height: 2.2rem; line-height: 2.2rem; background-color: rgb(41, 41, 41);; color: white; vertical-align: middle; border: 1px solid rgb(41, 41, 41); border-style: none; margin-left: -1rem; } .searchclose img{ position: absolute; top: 0; right: 0; }
index.js:
$(function(){ $(".searchbtn").click(function(){ $(".searchclose").show(); }); $(".closebtn").click(function(){ $(".searchclose").hide(); }); });
四、MySQL数据
connection.js:
var mysql=require("mysql"); var setting=require("./setting"); var connection; var connectionmysql=function(){ connection=mysql.createConnection({ host:setting.host, port:setting.port, user:setting.user, password:setting.pwd, database:setting.base }); } connectionmysql(); exports.select=function(str,callback){ connectionmysql(); connection.query(str,function(err,res){ if(err) throw err; callback(res); connection.end(); }); } exports.find=function(str,params,callback){ connectionmysql(); connection.query(str,params,function(err,res){ if(err) throw err; callback(res); connection.end(); }); }
sql.js:
module.exports={ findTitle:"select * from nav", clickRank:"select id,title from blog order by num desc limit 7", recommendInfo:"select id,title,logo,recommend from blog where recommend=1 limit 8", likeBlog:"select blog.id,title,intro,logo,time,type.typeinfo,user.face from blog,type,user where blog.type=type.id and blog.face=user.id and title like ? order by time desc" }
promise.js:
var mysql=require("../MySQL/connection"); var sql=require("../MySQL/sql"); module.exports={ findTitle:function(){ return new Promise(function(resolve){ mysql.select(sql.findTitle,function(result){ resolve(JSON.parse(JSON.stri.jpg" alt="nodejs如何识别接口(Node实现搜索框进行模糊查询)" border="0" />
router.js:
var promise=require("../MySQL/promise"); var url=require("url"); module.exports=function(app){ // 搜索框进行模糊查找 app.get("/like",function(req,res){ var likeurl=url.parse(req.url,true).query.link; async function getData(){ var res1=await promise.findTitle(); var res5=await promise.clickRank(); var res11=await promise.recommendInfo(); var res21=await promise.likeBlog("%"+likeurl+"%"); var allres={ titleindex:0, navres:res1, rankres:res5, recommendres:res11, blogres:res21 } return allres; } getData().then(function(result){ res.render("like",result); }); }); }
注:like 路由中的blogres:res21和首页中的blogres:res10,所渲染到页面中的数据名称需一致,在此均为 blogres
五、效果展示
进行搜索:
搜索结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
您可能感兴趣
- nodejs游戏服务端框架(如何写Node.JS版本小游戏)
- nodejs子进程调试(Node.js实现断点续传)
- node.js express 上线(node+express实现分页效果)
- nodejs怎么查看对象的全部属性(浅谈nodejs中创建cluster)
- nodejs八种命令(详细谈谈NodeJS进程是如何退出的)
- nodejs请求页面(node.js+postman实现模拟HTTP服务器与客户端交互)
- docker node 分阶段构建(Docker安装、创建镜像、加载并运行NodeJS程序的详细过程)
- nodejsweb服务(Nodejs实现内网穿透服务)
- html5本地存储功能(利用Node实现HTML5离线存储的方法)
- nodejs 内部模块代码(详解Node.js如何处理ES6模块)
- nodejs启动web服务器(使用NODE.JS创建一个WEBSERVER服务器的步骤)
- nodejs爬虫(node.js做一个简单的爬虫案例教程)
- nodejs如何识别接口(Node实现搜索框进行模糊查询)
- nodejs数据采集(nodejs获取表单数据的三种方法实例)
- nodejssocket文件传输(node+socket实现简易聊天室功能)
- node.js缓存区(如何利用node实现静态文件缓存详解)
- 你或许不知道你隐藏的支配欲望(你或许不知道你隐藏的支配欲望)
- 把宽体丰田86卖了,换成7.5代高尔夫GTI玩起姿态与性能并存的改装(把宽体丰田86卖了)
- 大众推出了第五代高尔夫GT(大众推出了第五代高尔夫GT)
- 换代在即,现在是抄底 7.5代 高尔夫的最佳时机吗(换代在即现在是抄底)
- 2020年大众7.5代高尔夫R终结特别版 最后的呐喊(2020年大众7.5代高尔夫R终结特别版)
- 七年前的这部剧有毒,全剧只有女主红到发紫,男主至今无人认识(七年前的这部剧有毒)
热门推荐
- php怎么弄不重复字符串(PHP中将一个字符串部分字符用星号*替代隐藏的实现代码)
- sqlserver数据库文件包括(详解SQL Server数据库状态和文件状态)
- 宝塔nginx配置修改(宝塔面板安装Tengine报错:nginx: [emerg] invalid IPv6 address in resolver)
- 去除inline-block元素间的间隙
- windows服务器安装宝塔面板(云服务器无法安装宝塔面板及软件解决方案)
- mysql判断表中字段是否存在(mysql插入前判断数据是否存在的操作)
- sqlserver连接服务器怎么解决(Sql server端口未打开连接不上的解决方案)
- 如何删除docker中已停止的容器(一条命令重启所有已停止的docker容器操作)
- easyui combobox级联
- mysql8.0详解(MySQL 8.0 的 5 个新特性,太实用了!)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9