thinkpphp框架中,在列表页使用ajax实现“点击加载更多”,如何做到返回不重新加载数据?

发布于 2022-09-07 20:12:21 字数 468 浏览 19 评论 0

场景大概是这样的:

一个列表页,初次打开列出比如 10 个多商品,通过“点击加载更多”,来加载更多商品(每次加载 10 个商品)。然后点击商品会进入“商品详情页面”。

问题是,从“商品详情页面”后退到“列表页”的时候,列表页还是初次打开的那 10 个商品,之前点击“点击加载更多”出来的数据没了(又需要再次点击加载更多),以致于用户都不知道我浏览到了哪一个商品了,每次返回都要重新加载。

我希望的结果是,后退的时候,“列表页”依然是上一次的状态。这样我就知道我浏览到了哪里。以及可以继续浏览后面的内容。

效果可以参考下京东手机版搜索页面那样
https://so.m.jd.com/ware/sear...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

命硬 2022-09-14 20:12:21
history.pushState 了解一下

其实需要做的就是保存之前的列表,以及滚动位置。这样的话。每次拉回来的数据都存在localstroage里面,performance.navigation.type判断是后退的话,就去拿数据

扛起拖把扫天下 2022-09-14 20:12:21

楼上说的没错,还有个办法就是在打开商品详情的时候不要新打开一个页面,而是在本页面加载出一个图层(z-index)置于列表页之上,然后点关闭时销毁这个图层。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文