gpt4 book ai didi

javascript - 如何将查询结果数据传递到Express.js和Mysql中的 View

转载 作者:行者123 更新时间:2023-11-28 06:42:01 26 4
gpt4 key购买 nike

我试图在我的 View 中显示我的查询结果,但似乎没有任何效果,因为我是新手,我可以在控制台日志中看到结果,但在我的 html 文件 3 上看不到结果

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

var connection = require('../connection');

/* GET home page. */
router.get('/', function(req, res, next) {

connection.query('SELECT * FROM articles',function(error,results,fields){
if(error) throw error;

console.log('Data received from Db:\n');
console.log(results);

res.render('index', {data:results,error:null});
});



});

module.exports = router;

我的观点是

<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1>test</h1>
<p>Welcome to <%= ??????? %> </p>
</body>
</html>

谢谢

最佳答案

我在这里使用 EJS 作为模板引擎,但您可以使用任何其他引擎。

你的index.js路由文件代码:

var express = require('express');
const sql = require('mssql');
var router = express.Router();

router.get('/', function(req, res, next) {
var myArr= [];
const request = new sql.Request();
request.query("SELECT * FROM Student", function(err, rows, fields) {
if (err) {
res.status(500).json({"status_code": 500,"status_message": "internal server
error"});
} else {
// Loop on each row
var lng = rows.recordsets[0].length;
var rc = rows.recordsets[0];
for (var i = 0; i < lng; i++) {

//Create an object to save current row's data
var person = {
'LastName':rc[i].LastName,
'FirstName':rc[i].FirstName
}
// Add object into array
myarr.push(person);
}

// Render index page using array
res.render('index', {"myres": myarr});
}
});
});
module.exports = router;

你的index.ejs应该像下面这样:

 <ul>
<%for(let i=0; i<myres.length; i++){%>
<li><%=myres[i].LastName%></li>

<%}%>
</ul>

关于javascript - 如何将查询结果数据传递到Express.js和Mysql中的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33707152/

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