簡體   English   中英

使用ejs組件將數據從js發送到html

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM