Guys alguem pode me ajudar a fazer uma paginação com nodejs ? utilizando os verbos http em memoria no caso seria o verbo get ?
Guys alguem pode me ajudar a fazer uma paginação com nodejs ? utilizando os verbos http em memoria no caso seria o verbo get ?
Seria o get mesmo. Da pra passar o numero da página de duas formas, pela url ou pela query(parametro do get). Suponho que esteja usando o express.
Pela url:
// express 4.x
app.get('/model/:page', function(req, res) {
res.send("Número da página é " + req.params.page);
});
// express 3.x
app.get('/model/:page', function(req, res) {
res.send("Número da página é " + req.param('page'));
});
Por parametro do GET:
// Cliente acessaria por /model?page=1
// express 4.x
app.get('/model', function(req, res) {
res.send("Número da página é " + req.query.page);
});
// express 3.x
app.get('/model', function(req, res) {
res.send("Número da página é " + req.query('page'));
});
Entendi perfeitamente , mas ainda tenho uma duvida eu devo passar um json e usar <%for> no html ?
// Paginação
app.get('/vouchers/:page', function(req, res) {
res.render('vouchers/index',{paginacao:[]} + req.param('page'));
});
e no html
<%for(var i=0;i<paginacao.length;i++) {%>
<ul class="pagination">
<li class="active"><a href="#"><%=paginacao[i]%></a></li>
</ul>
<%}%>
? obg mano :)
Voce pode responder das duas formas. Se o seu cliente pedir json, responde json e nao responde html. Costumo fazer paginacao com 3 dados: lista dos objetos, pagina atual e numero de paginas.
app.get('/vouchers/:page', function(req, res) {
// lógica da paginacao
res.format({
html: function() {
res.render('vouchers/index', {
vouchers,
page,
n_pages
});
},
json: function() {
res.json({
vouchers,
page,
n_pages
});
}
});
});
Ai o cliente que decidirá o que formato ele deseja
Obrigado de coração brô <3