繁体   English   中英

犯错 ReferenceError:未定义文档

[英]throw err; ReferenceError: document is not defined

路由器页面

 var express = require('express');
    var router = express.Router();
    var mysql = require('mysql');        

    /* GET home page */
    router.get('/', function(req, res, next) {
        res.render('mysql', {
            title: '',
        });
    });

    var connection = mysql.createConnection({
        host : '',
        user : '',
        password : '',
        database : ''
    });

    connection.connect();        
    connection.query('SELECT hashtag from recipients', function(err, rows, fields) {
      if (!err) {
        console.log(rows);        
            document.getElementById('recipients').innerHTML = rows;        
    }
      else {
        console.log('Error while performing Query.');
    }

    });        
    connection.end();        
    module.exports = router;

视图页面

<html>
<head>

</head>
<body>
<p id='recipients'></p>
<p id='error'></p>

<script>
</script>

</body>
// db.js
var connection = mysql.createConnection({
    host : '',
    user : '',
    password : '',
    database : ''
});
connection.connect();
module.exports = connection;

...
// router.js
var db = require('db.js')

router.get('/', function(req, res, next) {
    db.query('SELECT hashtag from recipients', function(err, rows, fields) {
        if (err) {
            return next(err); // or res.send(err.message);

        res.render('mysql.html', {
            title: '',
            recipients : rows   
        });
    }); 
});

module.exports = router;

// mysql.html
<html>
<head>
    <title>{{title}}</title>
</head>
<body>
    {{recipients}}
</body>
</html>

Node.js可能是Java脚本,但是Node.js与浏览器中使用的常规Java脚本之间存在很大差异。 Node.js是一个服务器端平台,非常类似于php或python,可用于编写Web应用程序或任何其他类型的应用程序。运行在浏览器上的Javascript是客户端,用于操作DOM和许多其他目的。 现在有很多事情你做错了。

 var express = require('express'); var router = express.Router(); var mysql = require('mysql'); /* GET home page */ router.get('/', function(req, res, next) { var connection = mysql.createConnection({ host: '', user: '', password: '', database: '' }); connection.connect(); connection.query('SELECT hashtag from recipients', function(err, rows, fields) { if (!err) { console.log(rows); //send rows to template engine to render HTML. res.render('mysql', { rows: rows, }); } else { console.log('Error while performing Query.'); } }); connection.end(); }); 
 <html> <head> <title>something here</title> </head> <body> <table> <tr>some heading</tr> <% for(var i=0; i< rows.length; i++) {%> <tr> <td> <!-- row[i].key access some value from object --> <%= row[i].someKey%> </td> </tr> <% } %> </table> </body> </html> 

现在,我假设您使用EJS作为模板引擎。 这不是一个可行的示例,只是有关其工作方式的摘要。 可能是教程有助于您尝试做的事情。 你应该读这个

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM