晚上好,
我想在JS MEAN中为应用程序创建一个搜索引擎。
我有一个包含不同元素的数据库,想要填写表单并将所有元素的结果放在不同的视图中。
我没有尝试过很多,我读过但是我没有看到任何可以提供帮助的具体内容。
如何将搜索参数传递给客户端的控制器,然后传递给控制器服务器,并将结果传递到不同的视图?
Ohn尝试按类型,颜色和日期搜索到另一个。
所有这些数据都已存储在数据库中。
有人可以通过搜索表单,客户端控制器和服务器控制器之间的事务简单示例来帮助我吗?
答案 0 :(得分:0)
以防您需要答案。我会解释一下。您可以看到代码here:
app.get('/', function(req,res){
if (!req.user)
res.redirect('/about')
else
res.render('index')
});
app.get('/login',function(req, res) {
res.render('auth/login', {
title: 'Login'
});
});
app.post('/', function(req, res, next) {
if (!req.body.login || !req.body.password) {
return res.status(400).json({ message: 'Please fill out all fields' });
}
passport.authenticate('local', function(err, user, info) {
if (err) { return next(err); }
if (user) { return res.json({ token: user.generateJWT()});
/*generateJWT form user model code returns jwt.sign({}) using jsonwebtoken:
var jwt = require('jsonwebtoken');
*/
} else { return res.status(401).json(info);}
})(req, res, next);
});
这是观点。您可以看到表单html标记,您可以使用订单和分页按文本进行搜索。我们还需要控制器,您可以看到如何调用服务器以执行搜索。
<section ng-controller="BooklistPaginationController" ng-init="init(10)">
....
<div class="row">
<div class="col-xs-12 col-md-12 col-sm-12 col-lg-12">
<div id="filter-panel" class="filter-panel" collapse="searchIsCollapsed">
<div class="panel panel-default">
<div class="panel-body">
<form class="form-inline" role="form">
<div class="form-group">
<label class="filter-col" for="pref-search">Texto:</label>
<input type="text" class="form-control input-sm" id="pref-search" ng-model="text">
</div><!-- form group [search] -->
<div class="form-group">
<label class="filter-col" for="pref-orderby">Orden:</label>
<select id="pref-orderby" class="form-control" ng-model="order">
<option ng-repeat="x in optionsOrder" value="{{x.value}}">{{x.text}}</option>
</select>
</div> <!-- form group [order by] -->
<div class="form-group">
<label class="filter-col" for="pref-perpage">Elementos página:</label>
<select id="pref-perpage" class="form-control" ng-model="itemsPerPage">
<option ng-repeat="x in optionsItemsPage" value="{{x.value}}">{{x.text}}</option>
</select>
</div> <!-- form group [rows] -->
<button ng-click="find()" class="btn btn-danger" style="margin-top: 4px;">
<span class="glyphicon glyphicon-search"></span> Buscar
</button>
</form>
</div>
</div>
</div>
</div>
</div>