为了账号安全,请及时绑定邮箱和手机立即绑定

初学者:ejs+express怎么从数据库获取数据并输出至网页?

初学者:ejs+express怎么从数据库获取数据并输出至网页?

牧羊人nacy 2019-04-16 17:06:05
我是看教程学习的,做一个简易评论区,但教程中只说了如何提交数据,但没说如何获取。现在一头雾水。流程应该是:a.启动(app.js)-->b.查询(bbs_a.js)-->c.路由(routes/bbs.js)-->d.显示(views/bbs.ejs)但是不知道如何具体操作,对这几个步骤之间的关系也不甚清楚,网上的教程都是含糊带过,有朋友能讲解一下吗?非常感谢!这是我写的代码更新bbs_a.js,旧的是我单独摘出来的read,实际上有save和readapp.jsvarexpress=require('express');varpath=require('path');varfavicon=require('serve-favicon');varlogger=require('morgan');varcookieParser=require('cookie-parser');varbodyParser=require('body-parser');varsession=require('express-session');varroutes=require('./routes/index');varbbs=require('./routes/bbs');varapp=express();//viewenginesetupapp.set('views',path.join(__dirname,'views'));app.set('viewengine','ejs');//uncommentafterplacingyourfaviconin/public//app.use(favicon(__dirname+'/public/favicon.ico'));app.use(logger('dev'));app.use(bodyParser.json());app.use(bodyParser.urlencoded({extended:false}));app.use(cookieParser());app.use(express.static(path.join(__dirname,'public')));app.use('/',routes);app.use('/bbs',bbs);app.listen(8000);//catch404andforwardtoerrorhandlerapp.use(function(req,res,next){varerr=newError('NotFound');err.status=404;next(err);});//errorhandlers//developmenterrorhandler//willprintstacktraceif(app.get('env')==='development'){app.use(function(err,req,res,next){res.status(err.status||500);res.render('error',{message:err.message,error:err});});}//productionerrorhandler//nostacktracesleakedtouserapp.use(function(err,req,res,next){res.status(err.status||500);res.render('error',{message:err.message,error:{}});});module.exports=app;在这里,我把存储数据和读取数据放在一起。但数据库操作很奇怪……不知道怎么操作才合理bbs_a.jsvarmysql=require('mysql');varpool=mysql.createPool({host:'127.0.0.1',port:'3306',user:'root',password:'',database:'sinatest'});functionComment(){};module.exports=Comment;pool.on('connection',function(connection){connection.query('SETSESSIONauto_increment_increment=1');});pool.getConnection(function(err,connection){Comment.prototype.readComment=function(callback){pool.query('SELECTcommentFROMbbs',function(err,result){console.log("invoked[readComment]");callback(err,result);});}});bbs.jsvarexpress=require('express'),router=express.Router(),Comment=require('../bbs_a.js'),TITLE_REG='评论区';router.get('/',function(req,res){console.log("1");varcomment=newComment();comment.readComment(function(err,result){if(err){console.log("2");res.status(404).end(err);}else{console.log("3");res.render('bbs',{items:result});}});});bbs.ejs评论区
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 363 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信