您好,欢迎访问一九零五行业门户网

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

实现ajax数据请求的分页效果:类似图片上!代码如何实现
回复内容: 实现ajax数据请求的分页效果:类似图片上!代码如何实现
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即可,若是使用了数据绑定则只需重新设置返回的数据即可重新渲染页面。
觉得题主应该掌握四点知识:
ajax
php的分页技术
mysql的limit
jquery
详解:
ajax 点击页码的时候触发一个click(jquery)事件,然后获取到这个页码的值,发送到后端
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,基本就能实现了,很简单...
其它类似信息

推荐信息