应用运行报错articales.forEach is not a function,请求技术解决方案
解决
articales.forEach is not a function错误 错误原因
- 后端传递给模板的
articales是单个对象,而forEach是数组的专属遍历方法,对象无法调用该方法,因此触发报错。 - 模板循环内部还存在变量引用错误:你在循环里使用了外层的
articales取标题,应该用当前遍历的article对象。
解决方案
- 修改后端代码,将
articales改为数组格式
哪怕只有单条数据,也要用数组包裹,这样才能使用forEach遍历:
app.get('/', (req, res) => { const articales = [ { title: 'Test Articles', createdAt: Date.now(), description: "Test Description" } ] res.render('index', { articales : articales }) })
- 修正模板中的变量引用
循环内部要使用当前遍历的article对象来获取属性:
<div class="container"> <h1 class="mb-4">Blogs</h1> <a href="/articales/new" class="btn btn-success">New Article</a> <% articales.forEach(article => { %> <div class="card mt-4"> <%= article.title %> </div> <% }) %> </div>
额外提示
注意拼写一致性:你代码里的articales是拼写错误,正确单词应为articles,建议统一修正,避免后续出现不必要的混淆。
内容的提问来源于stack exchange,提问作者Shrijit
相关产品推荐
相关产品推荐

