javascript - Node.js Web 应用程序中 MySQL 查询的延迟加载

标签 javascript jquery mysql node.js lazy-loading

所以我有一个页面,在其 get 上,我从 mysql 数据库中提取一些匹配的行。目前我拉了 8 个,因为这是我想在每个页面上显示的数量。我想实现 facebook 的一些功能,我见过它被称为延迟加载,当用户向下滚动时,将加载更多内容,在本例中是与查询匹配的附加 sql 行。

我可以抓取一大堆,让 jQuery 一次只渲染八个,但延迟加载听起来好多了。问题是我找不到关于使用 MySQL 的 Node 应用程序延迟加载的任何内容。有人知道教程、文章或想发布如何执行此操作的详细说明吗? (我是新手)

附注我见过一些帖子/服务器端交互,而无需使用ajax完成页面,但我对ajax几乎一无所知,因此,如果有一种方法可以仅使用javascript或jquery来完成它,我会全力以赴。感谢您的回复!

最佳答案

你所说的概念也称为“分页”,就像你看到一个表格一次显示 10 行,尽管实际上有 87 行,第 1 页是 1-10,第 2 页是 11-20等

执行延迟加载时,您的查询将按日期(或任何您的条件)排序,并按如下方式工作:

  1. 使用查找前 10 项的查询加载页面。 限制 0, 10
  2. currentPage=1 本地存储在页面的 JavaScript 中,以及与“page1”关联的大小或滚动限制 - 是否基于像素?或者展示的元素?
  3. 检测您何时滚动到页面底部或向页面底部滚动(当用户向后滚动时绝对很重要!)
  4. 启动延迟加载查询。

    1. 首先在您的页面上构建微调器
    2. 以相同的顺序调用您的服务器进行查询,这次 LIMIT 基于最后一个页码,currentPage*10 例如currentPage=3,因此LIMIT 30 40
    3. 当服务器响应时,将结果添加到显示的数组中。
    4. 增加 currentPage 计数,作为关联的滚动限制
  5. 等待用户滚动到下一个“底部”并重复步骤 3 和 4。

这是一个粗略的轮廓,希望能为您指明正确的方向!

关于javascript - Node.js Web 应用程序中 MySQL 查询的延迟加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40874879/

相关文章:

c# - JSON TinyMCE 返回值 "\t"

javascript - var checkValue - Jquery - 如何更改语言?

MySQL行子查询比较问题

javascript - 通过ajax请求发送post数据在参数中使用变量

javascript - 如何正确获取javascript Cookie?

javascript - jquery中的选择器

jquery - 如何使用 jquery 禁用或选择选择框中的特定值?

php - 通过 odbc 更新 FileMaker 表

php - 使用php将Sql行放入Json?

javascript - meteor 事件的目标是在带有内部图标的链接上表现异常