我正在构建一个博客网站,当数据库中存储了超过3篇博客文章时,尝试使用分页来导航博客文章的页面。 我正在尝试在单击“较新”或“较旧”按钮时从前端传递数据到后端以控制页面。 我该如何做呢?
我感觉必须以某种方式使用POST方法。
这是我的EJS前端代码。 这些按钮控制帖子的页面:
<% if(totalItems > 3){ %>
<div class="page-buttons">
<form action="/">
<button type="submit" class="btn btn-outline-info newer-posts">Next</button>
<button type="submit" class="btn btn-outline-info older-posts">Previous</button>
</form>
</div>
<% } %>
这是后端的路由。
app.get("/", (req, res) => {
let currentPage = req.query.page || 1;
let perPage = 3;
let totalItems;
Post.find()
.countDocuments()
.then(count => {
totalItems = count;
Post.find()
.skip((currentPage - 1) * perPage)
.limit(perPage)
.then(posts => {
res.render("home", {
posts: posts,
totalItems: totalItems
});
});
})
});
我希望点击按钮会增加或减少currentPage
变量,并从后端渲染正确的博客文章页面。但实际上,它什么都没有做。
任何帮助将不胜感激。