分页,前端是如何与后端交互的?

发布于 2022-09-07 04:04:42 字数 211 浏览 33 评论 0

我是一名小白前端。

关于分页我的理解是这样的:

1.首先后端会把分页逻辑做好(一页显示多少数据,总共多少页)

2.前端get请求获取第一页的数据 (因为网站打开时默认显示第一页嘛)

3.用户点击第2页的时候,我发送post请求给后端(把2发给后端)

4.后端把第2页的数据返回给我,我在渲染出来

不知道我这样的理解对不对

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

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

发布评论

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

评论(3

茶花眉 2022-09-14 04:04:42

你可以去参考一下https://github.com/watchdog-framework/watchdog-framework的前端项目设计,大概是这样的一个思路:

后端返回给前端的响应:

{
    "status": 1,
    "data": {
        "total": 114, 
        "size": 10,
        "pages": 12,
        "current": 1,
        "records": [{
            "id": "990145393943736321",
            "username": "test",
            "uid": "989416849999503361",
            "ip": "222.209.86.19",
            "ajax": 1,
            "uri": "/account/sign-in",
            "params": "[{\"password\":\"******\",\"username\":\"test\"}]",
            "httpMethod": "POST",
            "classMethod": "cn.licoy.wdog.core.controller.AccountController.signIn()",
            "actionName": "登录",
            "createDate": 1524904033000
        }]
    },
    "msg": "操作成功",
    "timestamps": 1524904039383
}

其中

  • data.total代表总记录数
  • data.size代表每页显示数量
  • data.current代表当前页
  • data.pages代表总页数

其总页数运算公式为 Math.ceil(data.total/data.size)。

久伴你 2022-09-14 04:04:42

前端把页码,每页显示条数发送到后端,后端根据这两个字段分页后返回相应的页码的数据。如下请求第一页,100条数据,点击第二页时把pageNumber改成2再发送到后端就行了。

{
    pageSize:100,
    pageNumber:1
}

当然后端会返回总条数,前端根据总条数跟pageSize可以计算出总共有多少页。后端也可以返回总共有多少页,前端就不用计算了。

时光暖心i 2022-09-14 04:04:42

是的,前端做的就是把页码,每页展示条数传给后端就可以了,其他后台处理

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