javascript - 如何在节点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 格式。我只想要数据。数据是从本地服务器获取的
解决方案
我猜下面的解决方案就是你要找的。
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>
推荐阅读
- python - For 循环语句不读取 if 语句以继续下一次迭代
- ios - 更改为在 Swift 中删除 UITableViewcell 的默认图标
- django - 如何在 Django 中为 MEDIA_ROOT 和 STATIC_ROOT url 模式开发测试用例?
- java - Java 无法识别一台计算机上的日志文件中的换行符 \n
- java - Java:为什么我不能用 LibGdx 正确渲染颜色 (RGBA)?
- python - 垂直投影和水平投影
- javascript - Moment JS时长人性化更精准
- swift - 如何像在 Measure 应用程序中一样在 ARKit (SceneKit) 中绘制虚线?
- mongodb - MongoDB 上的 Kafka-Connect-MongoDB Sink 连接器更新问题
- android - AsyncTask 不更新 UI