欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

javascript - 如何实现ajax和js的无刷新分页效果

程序员文章站 2022-04-20 18:29:44
...

实现ajax数据请求的分页效果:类似图片上!代码如何实现
javascript - 如何实现ajax和js的无刷新分页效果

回复内容:

实现ajax数据请求的分页效果:类似图片上!代码如何实现
javascript - 如何实现ajax和js的无刷新分页效果

ajax请求某一页的数据,然后把表格清空,然后把新数据组成表格塞回去。

1.css做出分页样式;
2.监听事件,传递分页参数pageNo,在ajax回调里面写列表的重新拼装和渲染。

思路就是触发分页事件的时候进行一次ajax请求,成功后更新表格就行了:

ele.onclick = function() {  //假设ele是点击后触发分页的元素
    var index = ele.pageIndex;
    var xhr = new XMLHttpRequest();
    xhr.open('GET', 'URL', true);//URL应包含分页信息,比如pageIndex,pageSize等
    xhr.onreadystatechange = function() {
        if ( xhr.status == 200 && xhr.readyState == 4 ) {
            updateTable(xhr.responseText);  //这个updateTable就是你用来更新表格的方法,在本页面执行,不会刷新
        }
    }
    xhr.send('');
}

当点击页码时:

  • 前端传值: currentPage(当前请求第几页),perPage(每页多少条数据);

  • 后端返回值: pages(总共页数),data(返回数据);

  • 前端在第一次请求数据的时候根据后端返回的总页数,展示到前端翻页栏;若是未使用数据绑定,如react,vue,knockout等,下次请求时将表哥清空再循环插入html即可,若是使用了数据绑定则只需重新设置返回的数据即可重新渲染页面。

觉得题主应该掌握四点知识:

  1. ajax

  2. php的分页技术

  3. mysql的limit

  4. jquery

详解:

  1. ajax 点击页码的时候触发一个click(jQuery)事件,然后获取到这个页码的值,发送到后端

  2. php接收到这个页码的参数,根据当前页码和显示条数进行计算

$page = $_GET['page'];  //当前页码
$page_num = 12;         //显示条数
$offect = $page_num * ( $page - 1 );    

$sql = "select * from table limit $offset,$page_num";  //3、sql的limit语法

//组装成html返回给前台


echo $html;exit;

       4.前端替换列表内容对应的div即可。

这是老方法,不知道最新的方法是怎样的。

以上。对了,这样的问题百度一大把资源。真的,不骗你。

ajax用法请查api
至于无刷新分页,你只要把table区域内的数据,清空并替换即可,题主看看jquery,基本就能实现了,很简单...