2
JSとnode.jについて覚え始めました。私は、MySQLのDBからejsコンポーネントを介してhtmlにデータを送信する際にいくつかの練習をしようとしています。私はejs.render(data、{data:something_from_DB})を使ってみました。 「データ」によって識別されるフェッチされた情報(something_from_DB)を送信する。私はhtmlのejsコードで識別子 "data"を使用しましたが、データがhtmlファイルに定義されていないと不平を言いました。ejsコンポーネントを使用してjsから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});
});
});
});
そして、ここでは、私は結果を印刷するとき
<% data.forEach(function(item, index){ %>
<tr>
<td><%= item.id %></td>
<td><%= item.name %></td>
<td><%= item.phone_no %></td>
</tr>
<% }); %>
するlist.htmlから一部だ、私が取得:正常に見える
[ RowDataPacket { id: 1, name: 'PETER', phone_no: '0100000000' } ]
を。私はこれを "データ"で渡すようにしていますが、これは起こっていないと思います。
文脈外の言葉を使用している場合は、私に修正してください。
これは質問に対する回答ではありません。コメントでなければなりません。 [コメントはいつですか](https://stackoverflow.com/help/privileges/comment)をご覧ください。 十分な[評判](https://stackoverflow.com/help/whats-reputation)があれば、投稿に[comment](https://stackoverflow.com/help/privileges/comment)することができます。代わりに、[質問者からの明確化を必要としない回答を提供する](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-代わりに)。 – Dwhitz