Javascript 使用NodeJS在UI级别对数据进行分页

Javascript 使用NodeJS在UI级别对数据进行分页,javascript,html,node.js,mongodb,pagination,Javascript,Html,Node.js,Mongodb,Pagination,节点api构建 const BOOKDATA = "book-database"; module.exports = function(app, db) { /*-----------------------------------------FETCHING DATA FROM MONGO-----------------------------------------------*/ //Get data in frontend app.get("/api/bookdata"

节点api构建

const BOOKDATA = "book-database";

module.exports = function(app, db) {
  /*-----------------------------------------FETCHING DATA FROM MONGO-----------------------------------------------*/

  //Get data in frontend
  app.get("/api/bookdata", (req, res) => {
    const mydara = db.collection(BOOKDATA);
    const page = parseInt(req.query.page);
    const limit = parseInt(req.query.limit);
    const startIndex = (page - 1) * limit;
    const endIndex = page * limit;

    const results = {};

    if (endIndex < mydara.length) {
      results.next = {
        page: page + 1,
        limit: limit
      };
    }

    if (startIndex > 0) {
      results.previous = {
        page: page - 1,
        limit: limit
      };
    }

    mydara.find({}).toArray(function(err, result) {
      var obj = JSON.parse(JSON.stringify(result));
      if (err) {
        throw err;
      } else {
        results.results = obj.slice(startIndex, endIndex);
        res.send(results);
        console.log(results);
      }
    });
  });
};

我用来显示卡片的HTML正文是:-

<body>
    <div class="card mt-5 mr-5 ml-5" id="bookInfo"></div>
    <script src="http://localhost:8080/scripts/script.js"></script>
  </body>

有人能帮我弄清楚吗。如果需要任何其他详细信息,请写在注释中。

好的,因此一旦从服务器获取数据,您需要在浏览器上呈现数据。我可以在您的代码中看到多个错误和改进,因此这将是如何工作的指南

index.html


script.js

const bookDataDisplay=(数据)=>{
//分析数据是一系列的书籍
常量bookElements=data.reduce((str,book)=>{
str+=`
${book.title}
`;
}, '');
document.getElementById('bookInfo')。innerHTML=bookElements;
}
fetchBooks()。然后((数据)=>bookDataDisplay(数据));

如果您能给我们看完整的代码就更好了。也许用stackoverflow或感谢@ajorquera创建一个截取的代码,我会在一分钟内上传代码。@ajorquera我已经上传了完整的代码片段,您能告诉我还有什么需要提供的吗?您当前的输出/错误是什么?我在chrome控制台中以正确的格式获取数据,但我被困于如何管理UI中的分页数字栏。
<body>
    <div class="card mt-5 mr-5 ml-5" id="bookInfo"></div>
    <script src="http://localhost:8080/scripts/script.js"></script>
  </body>
_id:5e46f1818d6512212ca0b65c
book_id:26
goodreads_book_id:968
best_book_id:968
work_id:2982101
books_count:350
isbn:307277674
isbn13:9780307277670
authors:"Dan Brown"
original_publication_year:2003
original_title:"The Da Vinci Code"
title:"The Da Vinci Code (Robert Langdon, #2)"
image_url:"https://images.gr-assets.com/books/1303252999m/968.jpg"
small_image_url:"https://images.gr-assets.com/books/1303252999s/968.jpg"