提问人:Nina 提问时间:11/13/2023 更新时间:11/13/2023 访问量:28
待办事项列表 - ejs 错误无法识别我的数组
Todo list - ejs error won't recognize my array
问:
我正在尝试制作一个简单的待办事项列表,在键入时添加任务。但是由于某种原因,我一直收到一个错误,即我的“数组”未定义。所以我添加了一个 If 语句,其中添加了“locals.array”,但现在它不会添加我的列表项。
这是我的JS文件
import express from "express"
import bodyParser from "body-parser"
const app = express();
const port = 3000;
app.use(express.static('public'));
app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({ extended: true }));
app.get('/', (req, res) => {
res.render('index');
});
var listItems = [];
app.post('/submit', function (req, res) {
var newItem = req.body.newItems;
listItems.push(newItem);
res.redirect("/");
});
app.get("/", (req, res) => {
res.render("index", { myListItems: listItems, complete: complete})
});
app.listen(port, () => {
console.log(`Listening on port ${port}`);
});
和我的ejs文件的一部分
<form action="/submit" method="POST">
<input type="text" id="input" name="newItems" placeholder="New item" required>
<button class="btn"> + </button>
<h2>List</h2>
<% if(locals.myListItems) { for (var i = 0; i > myListItems.length; i++) { %>
<li><input type="checkbox" name="check" value="<% myListItems[i] %>" /> <%= myListItems[i] %>
</li>
<% } %>
<% } %>
</form>
尝试添加if语句。不确定这是否是方法。仍然不会添加列表项。
答: 暂无答案
评论
res.render("index", { ...})
app.get("/", ...)
locals.myListItems
locals.myListItems
for (var i = 0; i > myListItems.length; i++)
i
0
i > myListItems.length