gpt4 book ai didi

node.js - 使用 Node.js 以 HTML 格式打印 Mysql 数据

转载 作者:行者123 更新时间:2023-12-02 16:10:48 24 4
gpt4 key购买 nike

我现在正在学习 Node.js,但我有点困惑。

我使用以下代码接收数据:

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

connection.connect();

connection.query('SELECT * FROM users', function(err, rows, fields)
{
if (err) throw err;

console.log(rows[0]);

});

connection.end();

我的调试控制台显示数据库表中的第一行,但我想在 HTML 页面中打印该值。我怎样才能做到这一点?

谢谢。

最佳答案

您需要查看creating an http server将这些结果发送到 html 站点。

var express = require('express');
var app = express();

app.use(express.static('public'))

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

app.get('/rows', function (req, res) {
connection.connect();

connection.query('SELECT * FROM users', function(err, rows, fields)
{
connection.end();

if (err) throw err;

res.json(rows);

});
});

app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});

运行此文件将在您计算机上的端口 3000 上创建一个服务器。

在您的项目中,在根级别创建一个名为 public 的目录。您可以在其中创建一个名为 index.html 的文件,其内容如下:

<html>
<head>
<title>My db rows</title>
</head>

<body>
<div id="table"></div>

<script type="text/javascript">
var opts = {
url: 'http://localhost:3000/rows/'
};

fetch(opts)
.then((res) => {
if (res.ok) {
return res.json();
}
})
.then((rows) => {
for (let row of rows) {
// row will be a mysql row -- you can loop over these and do what you want with them
}
})
.catch(console.log);
</script>
</body>
</html>

注意:我正在使用新的 fetch API 来执行我的请求,但您也可以轻松使用 jquery 或 XHR。 fetch api可以更详细解释here .

然后在浏览器中导航至 http://localhost:3000/index.html 以查看结果。

关于node.js - 使用 Node.js 以 HTML 格式打印 Mysql 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41334584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com