Guys alguem pode me ajudar a fazer uma paginação com nodejs ? utilizando os verbos http em memoria no caso seria o verbo get ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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