2016-03-31 63 views
2

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.

cevap

0

Sanırım basit bir hata var.

 res.render('ejs file name',{data: results,}); 
+0

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