Jade块是否扩展了数据库中的每个项目?

时间:2015-06-13 17:54:01

标签: javascript node.js mongodb express

我做错了什么?

test.jade



doctype !!! 5
html(lang="en-us")
    head
        title test
        h1 Information;
    body
        block testcontent
        form(method="post")
            input(type="button", value="refresh")




testcontent.jade



extends test

append testcontent
    br
    p test #{title}




路由处理程序;



app.get('/search', function(req, res) {  
            res.render('test');
});

app.post('/search', function(req, res) {  
    table.find().sort({created:1}).toArray(function(err, items) { 
        if(err) {
            console.log(err);
        }
        else {
            res.render('testcontent', {title:items._id});
        }
    });
});




试着让它写'测试'以及我数据库中每个项目的标题。我点击“刷新'在页面中,没有任何反应。

当用户使用刷新按钮发送POST时,它意味着在我的数据库中获取每个条目的_id并将其粘贴到带有table.find()的数组中.sort({created: 1})。指定者()

然后我希望它为每个条目呈现testcontent,res.render(' testcontent',{title:items._id});这应该推出几个条目" test exampleTitle"在新线上。

然后进入第一个文件中的testcontent块,现在可以更新'每次用户点击刷新。

右?

但它不起作用,没有错误抛出,它只是没有添加"测试标题"文本到/搜索路线就像我想要的那样。

我使用的是Node.js / express和MongoDB。

1 个答案:

答案 0 :(得分:1)

您是否检查过您的表单是否已提交?更改要从按钮提交的按钮类型,然后提交表单。在您的路由处理程序中,我看到您只向模板传递了一个标题,因此您只会在页面中看到一行。如果每个条目需要一行,则应将整个数组传递给模板,并使用jade模板中的“each”结构进行迭代