我有一些用express+EJS编写的代码,
1)在app.js中,mongo集合对象被创建,
在 user.js 的 Express 路由文件中,我从这个数据库连接中获取数据,并想将它传递给 EJS 进行渲染。
英译中:
它给我返回值未定义的错误。
请问如果我想访问returnValue [0] .attr1,我在路由和EJS中应该编写什么代码?
问候 Hammer
1)在app.js中,mongo集合对象被创建,
app.locals.userCollection = db.get('userData');
在 user.js 的 Express 路由文件中,我从这个数据库连接中获取数据,并想将它传递给 EJS 进行渲染。
exports.list = function(req, res){
req.app.locals.userCollection.find({},function(err , returnValue){
if(returnValue.length>0){
res.render('user', res.locals.returnValue);
}
return err;
});
英译中:
};
3) 在 user.ejs 文件中,我尝试使用以下代码进行访问:
<div><script>
var test = <%- returnValue %>;
它给我返回值未定义的错误。
请问如果我想访问returnValue [0] .attr1,我在路由和EJS中应该编写什么代码?
问候 Hammer
res.render('user', {data: returnValue});
- Amol M Kulkarnirows
,那么它应该是一个数组实例。在你的情况下,如果你想要循环遍历,请尝试使用Array.isArray(rows)
;如果它返回 true,则循环遍历(不要将其字符串化)。我也会在我的答案的“更新”部分中更新示例代码。 - Amol M Kulkarni<%- %>
时,它会给你原始输出,所以现在你知道json.stringify()
操作在服务器还是在客户端上执行。我相信你会理解与你问题相关的答案https://dev59.com/RpHea4cB1Zd3GeqPnU-B#33884595。 - Amol M Kulkarni