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

如何把js文件从mysql获取的json数据 通过node.js中的express 渲染到前端页面?(请给出略详细的解决方案)

如何把js文件从mysql获取的json数据 通过node.js中的express 渲染到前端页面?(请给出略详细的解决方案)

泛舟湖上清波郎朗 2019-05-25 14:59:32
如题我需要把js文件中获取的json文件渲染到前端页面(使用jade模板)我知道数据渲染需要用jade模板,但是不知道怎么把数据从js文件中传到前端页面已经确定后端是获取到了数据的。据说使用res.render来传json数据,请问传数据的语句应该是什么呢,怎么才能知道数据成功地传到前端页面了呢?我自己尝试以后在前端页面显示的是未定义。下面的是我的js文件,guanli3是要传到的数据页面。varexpress=require('express');varrouter=express.Router();varmysql=require('mysql');varconnection=mysql.createConnection({host:'127.0.0.1',user:'root',password:'root',port:'3306',database:'demo1'});router.get('/',function(req,res,next){res.render('guanli3');res.json('result')});connection.connect();varsql='SELECT*FROMprojectorderbyidDESClimit2';connection.query(sql,function(err,result){if(err){console.log('error');}else{varstring=JSON.stringify(result);varresult=JSON.parse(string);console.log(result);}});connection.end();module.exports=router;
查看完整描述

2 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

res.render('/前端页面',{json:'json数据'});
上面这个就是把josn数据传到相应的前端页面,放在你的sql语句的回调函数里面,比如:
router.get('/admin',function(req,res,next){
db.querySql('SELECT*FROMprojectorderbyidDESClimit2','',function(err,result){
res.render('/guanli3',{results:result});
});
});
                            
查看完整回答
反对 回复 2019-05-25
?
慕少森

TA贡献2019条经验 获得超9个赞

问题是是这样的之前网页渲染好像也要用到res.render吧,然后传json又用到了res.render,用了两次感觉会报错。试着运行下的确报错了。下面是我写的js文件中的代码和报错,不知道哪里有问题啊?
varexpress=require('express');
varrouter=express.Router();
varmysql=require('mysql');
varconnection=mysql.createConnection({
host:'127.0.0.1',
user:'root',
password:'root',
port:'3306',
database:'demo1'
});
router.get('/',function(req,res,next){
res.render('/guanli3');
connection.connect();
varsql='SELECT*FROMprojectorderbyidDESClimit1';
connection.query(sql,function(err,result){
res.render('/guanli3',{results:result});
connection.end();
})
下面是报错:
GET/guanli35001125.168ms-1435
GET/stylesheets/style.cssError:Failedtolookupview"/guanli3"inviewsdirectory"/Users/apple/WebstormProjects/demo1/views"
304atEventEmitter.render(/Users/apple/WebstormProjects/demo1/node_modules/express/lib/application.js:580:17)
36.391ms--atServerResponse.render(/Users/apple/WebstormProjects/demo1/node_modules/express/lib/response.js:971:7)
atQuery._callback(/Users/apple/WebstormProjects/demo1/routes/guanli3.js:16:13)
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 643 浏览
慕课专栏
更多

添加回答

举报

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