gpt4 book ai didi

node.js - "has no method ' forEach ' TypeError"在 Node.js-Ejs-Mongojs 堆栈上

转载 作者:可可西里 更新时间:2023-11-01 10:31:49 25 4
gpt4 key购买 nike

我在 app.js 上有这段代码,它是一个回调,其中找到了“locale”集合的所有内容:

tester = function(callback) {
db.locale.find({}, function(err, locale) {
callback( null, locale )
});
};

这会在访问“index”(主页)时设置“title”变量,并将“locale”集合内容传递给变量“content”,预先“字符串化”它(如果我不这样做,我会得到 [object ],[对象]):

app.get('/', function(req, res) {
tester(function(err, locale) {
res.render('index', {title: "This is a test server", content: JSON.stringify(locale)});
});
});

View “index.ejs”中的这个 forEach 结果应该只返回“title”集合字段:

<ul>
<% content.forEach( function( item ){ %>
<li><%= item.title %></li>
<% }); %>
</ul>

无论如何,问题是当我浏览页面时出现“'TypeError' has no method 'forEach'”。什么会导致此行为?谢谢!

最佳答案

您在呈现 locale 对象之前将其字符串化。字符串没有 forEach 方法,只有数组!只要您实际上不打算将整个 content 对象打印到页面,并且假设 locale 是一个 Javascript 对象,您就可以完全跳过 stringify 部分,就这样做:

res.render('index', {title: "This is a test server", content: locale});

关于node.js - "has no method ' forEach ' TypeError"在 Node.js-Ejs-Mongojs 堆栈上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22155539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com