猿问

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

如题我需要把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;
泛舟湖上清波郎朗
浏览 644回答 2
2回答

慕侠2389804

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});});});

慕少森

问题是是这样的之前网页渲染好像也要用到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-1435GET/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)
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答