从Mongoose查询数据并在HTML页面上显示

3
这是我的模式(schema)。
var productSchema = new mongoose.Schema({
    name: String,
    description: String
});
var Product = mongoose.model('Product', productSchema);

在我的index.js中,我正在使用
exports.welcome = function(req,res) {
    Product.find({},{},function(err,docs) {
        res.render('welcome', {
            "productlist" : docs
        });
    });
};

在我的app.js中,我调用了这个语句,其中routes是我的变量,用于调用index.js中的welcome函数:
app.get('/welcome',routes.welcome);
我的schema也写在index.js中。我想要做的是在名为“welcome.html”的html页面中显示所有产品及其名称和描述。
请问有人能告诉我应该在我的html页面中写什么来实现这个功能?

你使用的是哪个HTML渲染器? - alandarev
app.set('views', path.join(__dirname, 'views')); app.engine('html', require('ejs').renderFile); app.set('view engine', 'html');这是我在app.js中编写的内容。 - user3789868
我到处都能找到像是将数据发送到Jade,然后在Jade中显示,但不是在HTML中显示的方法? - user3789868
1个回答

1
根据您的最新留言,这意味着您正在使用EmbeddedJS作为模板引擎。您的答案有很好的文档在这里
为了简化,以下是一个welcome.html示例以显示结果:
<!DOCTYPE html>
<html>
<head>
<title>My Products</title>
</head>

<body>
<ul>
<% for(var i=0; i<productlist.length; i++) {%>
   <li><%= productlist[i].name %> : <%= productlist[i].description %></li>
<% } %>
</ul>
</body>

</html>

欢迎来到 StackOverflow :) - alandarev
你能帮我再做一件事吗?我想从HTML页面发送数据到Mongoose。我已经通过创建一个使用POST请求的表单来完成了这个任务,我能够将数据发送到Mongoose,但是如果我不想使用表单,我还能发送数据吗?如果你有例子,请分享链接。 - user3789868
您可以使用 AJAX https://en.wikipedia.org/wiki/Ajax_%28programming%29 将数据从客户端发送到服务器。如需更多信息,请搜索互联网或提出单独的问题。 - alandarev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接