首页 > 解决方案 > 如何在节点js中显示从数据库中获取的json数据??没有json格式

问题描述

这是我的代码。

var http=require("http");
var fs = require("fs");
var express = require("express");
var app = express();
var path = require("path");
var mysql = require('mysql');
var ejs = require("ejs")
var bodyParser = require('body-parser');
app.set('view engine' , 'ejs');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
var con = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "",
    database: "testn"
});

con.connect(function(err) {
    if (err) throw err;
    con.query("SELECT * FROM form", function (err, result, fields) {
      if (err) throw err;
      console.log(JSON.stringify(result));
      app.get('/', function(req, res) {
        res.render('index',{data:JSON.stringify(result)});
      
      });

    });
  });

app.listen(3010);
console.log("Running at Port 3010");

这是我的html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <header>
        <div class="container">
            <p><%=data%><p>
             
        </div>
    </header>
</body>
</html>

这是我的输出

[{"name":"Prakash","email":"prakashvpsm@gmail.com","description":"uykiukjk"},{"name":"Mathan","email":"v.prakash.av @gmail.com","description":"uykiukjk"},{"name":"prakashvpsm","email":"prakash@123.com","description":"uykiukjk"},{"name": "Prakash","email":"qdw@fff.com","description":"wddfwdpfk"},{"name":"Prakash","email":"prakashvpsm@gmail.com","description": "uykiukjk"}]

但我不想要 json 格式。我只想要数据。数据是从本地服务器获取的

标签: javascriptnode.jsjsonnodesnode-modules

解决方案


我猜下面的解决方案就是你要找的。

const express = require("express");
const app = express();
const mysql = require('mysql');
const bodyParser = require('body-parser');

app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({
    extended: false
}));
app.use(bodyParser.json());

const con = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "",
    database: "testn"
});

con.connect(function (err) {
    if (err) throw err;
});

app.get('/', function (req, res) {
    const result = con.query("SELECT * FROM form", function (err, result, fields) {
        if (err) throw err;
        return results;
    });
    res.render('index', {
        data: results
    });
});


app.listen(3010);
console.log("Running at Port 3010");

ejs 模板

<!DOCTYPE html>
<html lang="en">

<body>
    <div >
        <table>
            <% for(const row of data) { %>
            <tr>
                <td>
                    <%= row.name %>
                </td>
                <td>
                    <%= row.email %>
                </td>
                <td>
                    <%= row.description %>
                </td>
            </tr>
            <% } %>
        </table>
    </div>
</body>

</html>

推荐阅读