![](/img/trans.png)
[英]How to pass an object from EJS to Node.js Router - Javascript, EJS, Node.js, MySQL
[英]Loop Through Array With Node.JS and EJS
我正在嘗試使用EJS作為模板引擎使用Node.js制作待辦事項應用程序。 所有對象都分為3個數組:主題,日期和詳細信息。 它們在數組中。
我在快速路線中使用此代碼:
app.get('/dashboard', function (req, res) {
var subjects = [];
var duedates = [];
var details = [];
var ids = [];
var userId = 'some user provided value';
var sql = 'SELECT * FROM assignments WHERE owner = "' + req.user.email + '"';
connection.query(sql, function (error, results, fields) {
if (error) throw error;
for (i = 0; i < results.length; i++) {
subjects.push(results[i]['subject']);
duedates.push(results[i]['duedate']);
details.push(results[i]['details']);
ids.push(results[i]['id']);
console.log(details)
//res.render('dashboard',{username:req.user.email, subject: subjects, date: duedates, detail: details, id: ids});
} // ...
});
});
以及EJS模板上的以下代碼:
<!DOCTYPE html>
<html>
<head>
<title>Pencil and Pens</title>
</head>
<body>
<center>
<h1>Pencil and Pens</h1>
<h2>Welcome:
<%= username %>
</h2>
<form action="/addassignment" method="post">
Subject: <input type="text" id="subject" name="subject"> Due Date: <input type="duedate" name="duedate"> Details:
<input type="details" name="details">
<input type="submit" value="Add Assignment...">
</form>
<br />
<div id="assignmentbody">
<% for(var i=0; i < subject.length; i++) { %>
<%= subject[i] %> |
<%= date[i] %> |
<%= detail[i] %>
<form style="display:inline-block;" action="/deleteAssignment" method="post">
<% } %>
</div>
</center>
<script type="text/javascript">
</script>
</body>
</html>
即使數組中有3個,也僅顯示第一個條目。
非常感謝!
本·費恩
從閱讀你的代碼,我看到3個數組對象 ,duedates和細節名稱不同我的意思是你缺少的“S”為所有3個陣列而循環顯示內。 添加這些。 它將正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.