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

发布于 2022-09-05 05:38:47 字数 944 浏览 19 评论 0

如题 我需要把js文件中获取的json文件渲染到前端页面(使用jade模板)
我知道数据渲染需要用jade模板,但是不知道怎么把数据从js文件中传到前端页面
已经确定后端是获取到了数据的。
据说使用res.render来传json数据,请问传数据的语句应该是什么呢 ,怎么才能知道数据成功地传到前端页面了呢?我自己尝试以后在前端页面显示的是未定义。
下面的是我的js文件,guanli3是要传到的数据页面。

var express = require('express');
var router = express.Router();
var mysql = require('mysql');
var connection = 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();
var sql = 'SELECT * FROM project order by id DESC limit 2';
connection.query(sql,function (err,result) {
    if(err){
        console.log('error');}

    else
    {
        var string=JSON.stringify(result);
        var result=JSON.parse(string);
        console.log(result);
    }
});
connection.end();
module.exports = router;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

極樂鬼 2022-09-12 05:38:48
res.render('/前端页面', {json:'json数据'});

上面这个就是把josn数据传到相应的前端页面,放在你的sql语句的回调函数里面,比如:

router.get('/admin', function (req, res, next) {
    db.querySql('SELECT * FROM project order by id DESC limit 2', '', function(err, result){
        res.render('/guanli3', {results:result});
    });
});
寄风 2022-09-12 05:38:48

问题是是这样的 之前网页渲染好像也要用到res.render吧,然后传json又用到了res.render,用了两次感觉会报错。试着运行下的确报错了。下面是我写的js文件中的代码和报错,不知道哪里有问题啊?

var express = require('express');
var router = express.Router();
var mysql = require('mysql');
var connection = 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();
    var sql = 'SELECT * FROM project order by id DESC limit 1';
    connection.query(sql,function (err,result) {
        res.render('/guanli3',{results:result});
        connection.end();
    }) 
    

下面是报错:


GET /guanli3 500 1125.168 ms - 1435
GET /stylesheets/style.css Error: Failed to lookup view "/guanli3" in views directory "/Users/apple/WebstormProjects/demo1/views"
304     at EventEmitter.render (/Users/apple/WebstormProjects/demo1/node_modules/express/lib/application.js:580:17)
36.391 ms - -    at ServerResponse.render (/Users/apple/WebstormProjects/demo1/node_modules/express/lib/response.js:971:7)

    at Query._callback (/Users/apple/WebstormProjects/demo1/routes/guanli3.js:16:13)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文