将 ExpressJS MySql 查询响应发送到简单的 JS 文件以编辑 HTML 表



我使用ExpressJS作为服务器,MySql作为本地数据库。 我需要从表中获取一些数据并将查询结果发送到原版 JS 文件,或者只是编辑 HTML trought NodeJS,但我不知道如何......

我的快递服务器:

const express = require("express");
const app = express();
const path = require("path");
app.use(express.static("../public"));
app.get("/home", function(req, res) {
res.sendFile(path.join(__dirname + "/../index.html"));
});

1-要从数据库表中查询,您需要使用Node.js MySQL客户端或ORM,我在以下示例中使用mysql:

const mysql      = require('mysql');
const connection = mysql.createConnection({
host     : 'localhost',
user     : 'me',
password : 'secret',
database : 'my_db'
});
connection.connect();

2-编写查询并将结果发回给最终用户

const express = require('express');
const router = express.Router();
router.get('/home', function(req, res, next) {
connection.query('SELECT * FROM `tablename`;', function (error, results, fields) {
if (error) throw error;
res.send({ results });
});
});

你必须选择一个像pug这样的模板引擎

您应该如前所述连接到数据库: const mysql = require('mysql'(; const connection = mysql.createConnection({ 主机 : "本地主机", 用户 : "我", 密码:"秘密", 数据库 : 'my_db' });

connection.connect();

并使查询形成表名:

const express = require('express');
const router = express.Router();
router.get('/home', function(req, res, next) {
connection.query('SELECT * FROM `tablename`;', function (error, results, fields) {
if (error) throw error;
res.render('index', { 'data' : results })
});
});

对于您的模板页面:

ul
each val, index in data
li= index + ': ' + val

最新更新