Maison  >  Article  >  développement back-end  >  javascript - 如何实现ajax和js的无刷新分页效果

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

WBOY
WBOYoriginal
2016-12-05 13:44:131154parcourir

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

回复内容:

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

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

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

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

<code>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('');
}</code>

当点击页码时:

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

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

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

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

  1. ajax

  2. php的分页技术

  3. mysql的limit

  4. jquery

详解:

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

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

<code>$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;

</code>

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

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

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

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn