问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请求高手如何使用jquery ajax ASP程序分页代码

发布网友 发布时间:2022-05-15 04:11

我来回答

2个回答

懂视网 时间:2022-05-15 08:32

这次给大家带来jquery+ajax怎么实现分页功能,jquery+ajax实现分页功能的注意事项有哪些,下面就是实战案例,一起来看一下。

HTML

<p id="list"> 
 <ul></ul> 
</p> 
<p id="pagecount"></p>

CSS

 #list{width:680px; height:530px; margin:2px auto; position:relative} 
#list ul li{float:left;width:220px; height:260px; margin:2px} 
#list ul li img{width:220px; height:220px} 
#list ul li p{line-height:22px} 
#pagecount{width:500px; margin:10px auto; text-align:center} 
#pagecount span{margin:4px; font-size:14px} 
#list ul li#loading{width:120px; height:32px; border:1px solid #d3d3d3; 
position:absolute; top:35%; left:42%; text-align:center; background:#f7f7f7 
url(loading.gif) no-repeat 8px 8px;-moz-box-shadow:1px 1px 2px rgba(0,0,0,.2); 
-webkit-box-shadow:1px 1px 2px rgba(0,0,0,.2); box-shadow:1px 1px 2px rgba(0,0,0,.2);}

jQuery

我们先声明变量,后面的代码要用到以下变量。

var curPage = 1; //当前页码 
var total,pageSize,totalPage; //总记录数,每页显示数,总页数

接下来,我们自定义一个函数:getData(),用来获取当前页数据。函数中,我们利用$.ajax()向后台pages.php发送POST异步请求,将当前页码以JSON格式传递给后台。

//获取数据 
function getData(page){ 
 $.ajax({ 
 type: 'POST', 
 url: 'pages.php', 
 data: {'pageNum':page-1}, 
 dataType:'json', 
 beforeSend:function(){ 
 $("#list ul").append("<li id='loading'>loading...</li>");//显示加载动画 
 }, 
 success:function(json){ 
 $("#list ul").empty();//清空数据区 
 total = json.total; //总记录数 
 pageSize = json.pageSize; //每页显示条数 
 curPage = page; //当前页 
 totalPage = json.totalPage; //总页数 
 var li = ""; 
 var list = json.list; 
 $.each(list,function(index,array){ //遍历json数据列 
 li += "<li><a href='#'><img src='"+array['pic']+"'>"+array['title'] 
 +"</a></li>"; 
 }); 
 $("#list ul").append(li); 
 }, 
 complete:function(){ //生成分页条 
 getPageBar();
          
            当点击分页条中的分页链接时,调用getData(page)加载对应页码的数据。  
            $("#pagecount span a").on('click',function(){ 
        var rel = $(this).attr("rel"); 
       if(rel){ 
      getData(rel); 
       } 
          }); 
   }, 
 error:function(){ 
 alert("数据加载失败"); 
 } 
 }); 
}

请求成功后并返回数据,将相应的数据附给变量,并将返回的商品数据列表循环展示到对应容器#list ul中。当数据完全加载完毕后,调用分页条函数getPageBar()生成分页条。

//获取分页条 
function getPageBar(){ 
 //页码大于最大页数 
 if(curPage>totalPage) curPage=totalPage; 
 //页码小于1 
 if(curPage<1) curPage=1; 
 pageStr = "<span>共"+total+"条</span><span>"+curPage 
 +"/"+totalPage+"</span>"; 
 
 //如果是第一页 
 if(curPage==1){ 
 pageStr += "<span>首页</span><span>上一页</span>"; 
 }else{ 
 pageStr += "<span><a href='javascript:void(0)' rel='1'>首页</a></span> 
 <span><a href='javascript:void(0)' rel='"+(curPage-1)+"'>上一页</a></span>"; 
 } 
 
 //如果是最后页 
 if(curPage>=totalPage){ 
 pageStr += "<span>下一页</span><span>尾页</span>"; 
 }else{ 
 pageStr += "<span><a href='javascript:void(0)' rel='"+(parseInt(curPage)+1)+"'> 
 下一页</a></span><span><a href='javascript:void(0)' rel='"+totalPage+"'>尾页</a> 
 </span>"; 
 } 
 
 $("#pagecount").html(pageStr); 
}

最后,当页面第一次加载时,我们加载第一页数据即getData(1),

$(function(){ 
 getData(1); 
 
});

PHP

pages.php接收每次前端页面的ajax请求,根据提交的页码pageNum值,从mysql数据库中获取数据,计算总记录数和总页数,读取对应页码下的数据列表,并将最终结果以JSON格式返回给前端页面。

include_once('connect.php'); //连接数据库,略过,具体请下载源码查看 
$page = intval($_POST['pageNum']); //当前页 
 
$result = mysql_query("select id from food"); 
$total = mysql_num_rows($result);//总记录数 
$pageSize = 6; //每页显示数 
$totalPage = ceil($total/$pageSize); //总页数 
 
$startPage = $page*$pageSize; //开始记录 
//构造数组 
$arr['total'] = $total; 
$arr['pageSize'] = $pageSize; 
$arr['totalPage'] = $totalPage; 
$query = mysql_query("select id,title,pic from food order by id asc limit 
$startPage,$pageSize"); //查询分页数据 
while($row=mysql_fetch_array($query)){ 
 $arr['list'][] = array( 
 'id' => $row['id'], 
 'title' => $row['title'], 
 'pic' => $row['pic'], 
 ); 
} 
echo json_encode($arr); //
输出JSON数据

最后,附上Mysql表结构

CREATE TABLE IF NOT EXISTS `food` ( 
 `id` int(11) NOT NULL AUTO_INCREMENT, 
 `title` varchar(100) NOT NULL, 
 `pic` varchar(255) NOT NULL, 
 PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

精彩专题分享:jquery分页功能操作 JavaScript分页功能操作

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

jQuery操作html元素点击事件详解

jQuery中text() val()与html()的使用有哪些区别

热心网友 时间:2022-05-15 05:40

在jquery里可以直接用isNaN(),因为他是JavaScript的类库。是由JavaScript语言写的。
例如:
<script type="text/javascript">
$(document).ready(function(){
alert(isNaN($('#id').val()));
});
</script>可以直接使用
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 聊城市在全国的哪个方向 谁知道聊城是在哪的? 聊城市离河南哪个城市最近 山东聊城有什么好玩的地方 聊城到哪个城市比较近? 山东聊城酒店可以摆席吗 你听说过“蒜你狠”、“姜你军”、“豆你玩”吗?就在前几天,聊城沙镇一农民在朋友圈里发布一则消息,邀_百度问一问 从昆山到山东省聊城市临清市有风险地区吗 聊城市建筑工人管理信息平台怎么入合同 我是福建的考生,被聊城大学录取了,想了解下聊城大学以及聊城这个城市的具体情况…… 孙卓户籍地不影响其正常入学,他是如何被佳木斯市登记的? 山东聊城,交警执法车停放在路边,一男子路过把车里的手机拿走了,你咋看? 做了个梦。梦见男朋友又一整天不和自己联系了 我就等啊等 心里越来越慌... 做梦梦见男友很爱我却联系不上他是啥意思 做梦梦见男朋友不联系我了 昨晚我梦到跟我男朋友不联系了,我们现在特别好,怎么会做这个梦? 公众号文章朋友圈能看吗 oppok7x5看视频发微信够用吗 肌肉、腱的结构与功能有哪些? 肌肉是怎样构造的 支付宝三小时公益的公益时,为什么会变少? MIUI论坛的网站是什么? h5导航栏颜色随屏幕滚动变色 想要考国职教练,请问怎么报名? 美甲中镊子有什么用途 jquery ajax分页 2015年锦州市特岗教师考试 锦州黑山特岗教师职位表在哪里能看到? 2014年辽宁省特岗教师各地市职位计划招聘表? 在哪里能找到收藏的淘宝东西 哪些二类户可以在FB上办理 很多企业都在选择YinoLink易诺开户?真的吗? 我喜欢一个女孩子叫何孟芸,不敢表白。谁能帮我写首藏头诗,写的不是那种一眼就能看出来的,谢谢!!! 死亡通知单暗黑者为什么要杀孟云 ctrl F5是什么意思 ctrlF5是什么意思 ctrl F5 突然失灵 不管用了 按Ctrl+F5刷新 怎么按啊 我的电脑按Ctrl和F5键都没反应怎么回事? ctrl+F5刷新和F5刷新不一样么?