您好我是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
答案 0 :(得分:0)
如果您想要包含查询参数(例如?search=foo
),您可以这样做:
...
res.render('searchresult', {allItems: allItems, location: req.query.location});
...
然后,您可以在视图中访问allItems
和location
,代码取决于您选择的视图引擎。
编辑:目前还不清楚您是否想要视图中的数据库查询结果或查询字符串(来自获取请求)。上面的答案显示了两者。