<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>MY APP</title>
</head>
<body>
May Node and Express be with you.
<ul class="logins">
< for(const i=0; i <login.length; i++) { >
<li class="login">
<span>< login[i].firstName ></span>
<span>< login[i].age ></span>
</li>
< } >
</ul>
<form action="/login" method="POST">
<input type="text" placeholder="First Name"
name="firstName">
<input type="text" placeholder="Last Name"
name="lastName">
<input type="text" placeholder="Age" name="age">
<button type="submit">Submit</button>
</form>
</body>
</html>
我的HTML表单是相同的,只是没有ejs模板。这是我的ejs模板代码:
app.get('/', (req, res) => {
db.collection('login').find().toArray((err, result)=>
{ if (err) return console.log(err)
// renders index.ejs
res.render('index.ejs', {login: result})
})
})
不确定我是否以错误的方式渲染模板,或者我是否以正确的方式使用代码。
答案 0 :(得分:0)
<ul class="logins">
< login.forEach(data) { >
<li class="login">
<span>< data.firstName ></span>
<span>< data.age ></span>
</li>
< } >
</ul>
或
<ul class="logins">
< for(const i=0; i <login.length; i++) { >
<li class="login">
<span>< login.firstName ></span>
<span>< login.age ></span>
</li>
< } >
</ul>
我认为“登录”是一个对象。 toArray方法可能无法正常工作。 因此,请提供该代码,如果您遇到错误,请告诉我。
答案 1 :(得分:0)
似乎您使用<>来显示变量并评估代码。要显示,必须使用<%-%>或<%=%>。要为您进行评估,您必须使用<%%>
正确的代码如下:
<ul class="logins">
<% for(const i=0; i <login.length; i++) { %>
<li class="login">
<span><%- login[i].firstName %></span>
<span><%- login[i].age %></span>
</li>
<% } %>
</ul>