Javascript Can';t从ejs访问变量内的字段
我基于mongodb和express制作了这个简单的应用程序。我试图在ejs页面中显示一个数组,但只显示数组对象中的一些参数。目前它要么不显示任何内容,要么显示整个json对象,这取决于我的尝试 以下是我的控制器的相关部分:Javascript Can';t从ejs访问变量内的字段,javascript,node.js,mongodb,ejs,Javascript,Node.js,Mongodb,Ejs,我基于mongodb和express制作了这个简单的应用程序。我试图在ejs页面中显示一个数组,但只显示数组对象中的一些参数。目前它要么不显示任何内容,要么显示整个json对象,这取决于我的尝试 以下是我的控制器的相关部分: query.exec(function (err, countries){ if(err){ console.log(err); return next(err); } coun
query.exec(function (err, countries){
if(err){
console.log(err);
return next(err);
}
countries.sort((a, b) => {
return a.toString().localeCompare(b.toString());
});
console.log(countries);
res.render('pages/index',{
countries: countries
});
我的ejs代码没有显示任何内容
<select class="form-control" id="countriesSelect" name="country">
<% countries.forEach(function(country) { %>
<option><%= country.Age %></option>
<% }); %>
</select>
以下是该页面的屏幕截图:
我希望在组合框中只显示国家名称。(country.country)例如“阿尔及利亚”“美国”
PS:我知道命名不好,我会重构我的数据库
PSS:我不熟悉ejs和node,所以这对我来说很难调试。抱歉,如果这是一个微不足道的问题编辑:在访问其属性
.Age
之前,我们必须将国家
转换为JSON对象。归功于
有一个打字错误
它应该是
/编辑:在访问其属性.Age
之前,我们必须将国家
转换为JSON对象。归功于
有一个打字错误
它应该是
/我找到了修复方法。我应该添加.toJson来获取实际对象
以下是修复方法:
<select class="form-control" id="countriesSelect" name="country">
<% countries.forEach(function(country) { %>
<option><%= country.toJSON().Country %></option>
<% }); %>
</select>
我找到了修复方法。我应该添加.toJson来获取实际对象
以下是修复方法:
<select class="form-control" id="countriesSelect" name="country">
<% countries.forEach(function(country) { %>
<option><%= country.toJSON().Country %></option>
<% }); %>
</select>
ups,修复了这个问题。但是我们仍然需要在country objectups上执行.toJSON()
,修复了这个问题。但我们仍然需要在country对象上执行.toJSON()
,这是相同的
<select class="form-control" id="countriesSelect" name="country">
<% countries.forEach(function(country) { %>
<option><%= country.toJSON().Country %></option>
<% }); %>
</select>