在视图中显示Express查询字符串结果

时间:2016-03-21 14:40:14

标签: express

您好我是Express / MongoDB / Node的新手。我试图捕获并显示一个查询字符串的结果,该字符串在视图上有两个输入。

以下是从搜索栏中获取查询的表单:

<form class="navbar-form navbar-left" action="/searchresult" method="GET">
      <div class="form-group">
        <input class="form-control" type="text" name="name" placeholder="Search Dish">
      </div>
      <div class="form-group">
        <input class="form-control" type="text" name="location" placeholder="zipcode">
      </div>
      <button type="submit" class="btn btn-default"></button>

以下是查找结果的路线:

//SEARCH Route - item query results
router.get("/searchresult", function(req,res){
    //Get search results
    Item.find({name:req.query.name, location:req.query.location}, function(err, allItems)
    {
        if(err){
            console.log(err);
        } else {
            res.render("searchresult",{allItems});
        }    
    });
});

如何在视图中显示结果?

        <div class="container">
             <h1>Search Results</h1>
        </div>
        //Need Help Here

1 个答案:

答案 0 :(得分:0)

如果您想要包含查询参数(例如?search=foo),您可以这样做:

        ...

        res.render('searchresult', {allItems: allItems, location: req.query.location});

        ...

然后,您可以在视图中访问allItemslocation,代码取决于您选择的视图引擎。

编辑:目前还不清楚您是否想要视图中的数据库查询结果或查询字符串(来自获取请求)。上面的答案显示了两者。