Sadece JS ve node.js. hakkında bilgi vermeye başladım. MySQL'deki bir DB'den ejs bileşenlerini kullanarak html'ye veri göndermeye çalışıyorum. Ejs.render kullanmayı denedim (data, {data: something_from_DB}); "data" ile tanımlanan getirilen bilgileri (thing_from_DB) göndermek için. Daha sonra, ej kodundaki "data" tanımlayıcısını html olarak kullandım, ancak verilerin html dosyasında tanımlanmadığından şikayetçi olurdum.es bileşenleri ile js html veri gönderme
İşte js kodu.
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});
});
});
});
Ve burada sonuç yazdırdığınızda
<% data.forEach(function(item, index){ %>
<tr>
<td><%= item.id %></td>
<td><%= item.name %></td>
<td><%= item.phone_no %></td>
</tr>
<% }); %>
list.html gelen kısmı, ben alıyorum: iyi görünüyor
[ RowDataPacket { id: 1, name: 'PETER', phone_no: '0100000000' } ]
. Bunu "veri" ile geçmek istiyorum ama bunun olduğunu sanmıyorum.
Lütfen bağlam dışında olan sözcükleri kullanıyorumsa beni düzeltin.
Bu soruya bir cevap vermez, bir yorum yazılmalıdır. Lütfen [Ne zaman yorum yapmalıyım?] Bölümüne bakın (https://stackoverflow.com/help/privileges/comment). Yeterli [itibara] sahip olduğunuz zaman (https://stackoverflow.com/help/whats-reputation) herhangi bir gönderide [yorum] (https://stackoverflow.com/help/privileges/comment) yapabileceksiniz; bunun yerine, [askerden açıklama istemeyen cevaplar verin] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-yerine). – Dwhitz