[英]Sending data from js to html with ejs components
我剛剛開始學習JS和node.js。 我一直在嘗試通過ejs組件將數據從MySQL中的數據庫發送到html上進行一些練習。 我嘗試使用ejs.render(data,{data:something_from_DB}); 發送獲取的信息(something_from_DB),該信息由“數據”標識。 然后,我在html的ejs代碼中使用了標識符“ data”,但是它抱怨html文件中未定義數據。
這是js代碼。
var mysql = require('mysql');
var fs = require('fs');
var http = require('http');
var express = require('express');
var ejs = require('ejs');
var app = express();
app.use(app.router);
var client = mysql.createConnection({
user: 'username',
password: 'password',
database: 'database_name'
});
app.get('/', function(req, res){
fs.readFile('list.html', 'utf8', function(error, data){
client.query('SELECT * FROM test_table', function(error, results){
console.log(results);
res.send(ejs.render(data), {data: results});
});
});
});
這是list.html中的部分
<% data.forEach(function(item, index){ %>
<tr>
<td><%= item.id %></td>
<td><%= item.name %></td>
<td><%= item.phone_no %></td>
</tr>
<% }); %>
當我打印結果時,我得到:
[ RowDataPacket { id: 1, name: 'PETER', phone_no: '0100000000' } ]
看起來不錯。 我希望通過“數據”傳遞它,但我不認為這種情況正在發生。
如果我使用的語境不正確,請糾正我。
我認為有一個簡單的錯誤。只需嘗試一下。
res.render('ejs file name',{data: results,});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.