所以我有一个页面,在其 get
上,我从 mysql 数据库中提取一些匹配的行。目前我拉了 8 个,因为这是我想在每个页面上显示的数量。我想实现 facebook 的一些功能,我见过它被称为延迟加载,当用户向下滚动时,将加载更多内容,在本例中是与查询匹配的附加 sql 行。
我可以抓取一大堆,让 jQuery 一次只渲染八个,但延迟加载听起来好多了。问题是我找不到关于使用 MySQL 的 Node 应用程序延迟加载的任何内容。有人知道教程、文章或想发布如何执行此操作的详细说明吗? (我是新手)
附注我见过一些帖子/服务器端交互,而无需使用ajax完成页面,但我对ajax几乎一无所知,因此,如果有一种方法可以仅使用javascript或jquery来完成它,我会全力以赴。感谢您的回复!
最佳答案
你所说的概念也称为“分页”,就像你看到一个表格一次显示 10 行,尽管实际上有 87 行,第 1 页是 1-10,第 2 页是 11-20等
执行延迟加载时,您的查询将按日期(或任何您的条件)排序,并按如下方式工作:
- 使用查找前 10 项的查询加载页面。
限制 0, 10
- 将
currentPage=1
本地存储在页面的 JavaScript 中,以及与“page1”关联的大小或滚动限制 - 是否基于像素?或者展示的元素? - 检测您何时滚动到页面底部或向页面底部滚动(当用户向后滚动时绝对很重要!)
启动延迟加载查询。
- 首先在您的页面上构建微调器
- 以相同的顺序调用您的服务器进行查询,这次
LIMIT
基于最后一个页码,currentPage*10
例如currentPage=3
,因此LIMIT 30 40
- 当服务器响应时,将结果添加到显示的数组中。
- 增加
currentPage
计数,作为关联的滚动限制
等待用户滚动到下一个“底部”并重复步骤 3 和 4。
这是一个粗略的轮廓,希望能为您指明正确的方向!
关于javascript - Node.js Web 应用程序中 MySQL 查询的延迟加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40874879/