You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用EJS模板显示数组信息时出现[Object, Object]问题求助

解决EJS模板中显示对象数组内容的问题

问题原因

直接在EJS中输出整个postlist[i]对象时,JavaScript会默认将对象转换为字符串,结果就是[Object, Object]——这是因为它无法识别你要展示对象内部的具体属性。

解决方案

你需要明确访问对象的具体属性(比如你定义的title和description),修改EJS模板的循环部分即可:

修改后的EJS代码

<h1>Home</h1>

<p><%= hsContent %></p>

<% for (let i=0; i<postlist.length; i++ ){ %>
  <h2><%= postlist[i].title %></h2>
  <p><%= postlist[i].description %></p>
<% } %>

额外优化建议

  • 可以使用forEach循环让代码更简洁:
<% postlist.forEach(post => { %>
  <h2><%= post.title %></h2>
  <p><%= post.description %></p>
<% }) %>
  • 确保后端渲染模板时,传递的数组变量名是postlist(和模板里的变量名对应),比如:
app.get("/", function(req, res) {
  res.render("home", { 
    hsContent: "你的首页内容",
    postlist: posts 
  });
});

内容的提问来源于stack exchange,提问作者K1ng_Franz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 23:44:58