ajax+分页
<!DOCTYPE html>
<html> <head lang="zh-cn">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
<meta name="renderer" content="webkit" />
<title>测试副本</title>
<link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<!-- 分页 -->
<style type="text/css">
#pagecount {
text-align: center;
padding: 20px 0;
} .turn-go {
text-align: center;
}
</style>
<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head> <body>
<div id="app">
<table class="table table-border">
<thead>
<tr>
<th>aId</th>
<th>cId</th>
<th>developer</th>
<th>download</th>
<th>icon</th>
<th>name</th>
<th>orders</th>
<th>price</th>
</tr>
</thead>
<tbody id="data"></tbody>
</table>
</div>
<!--分页开始-->
<div id="list">
<ul></ul>
</div>
<div id="pagecount"></div>
<div class="turn-go">
<input type="text" maxlength="8" value="1" id="fy_n">
<span>页
<input type="submit" name="btnGo" value="Go" id="go">
</span>
</div>
<!--分页结束-->
<script type="text/javascript">
//加载token
//token地址为 http://beta.open.api.vrseen.net/token/get
//从接口获取数据
//接口为 http://beta.store.api.vrseen.net/appcategory/list // 获取token
var getToken = function() {
//判断是否存在token
if (sessionStorage.getItem("token") != null) {
// 转换成对象后返回
return JSON.parse(sessionStorage.getItem("token"));
}
var token = null;
$.ajax({
url: "http://beta.open.api.vrseen.net/token/get",
type: "GET",
dataType: "JSON",
async: false,
success: function(data) {
//转换成json字符串,把token写入本地
sessionStorage.setItem("token", JSON.stringify(data.data));
token = data.data;
}
});
return token;
} // 获取数据写入数据
$(function(page) {
var token = getToken();
// 获取数据写入页面
// $.ajax({
// url:"http://beta.store.api.vrseen.net/app/list",
// type:"POST",
// headers:{
// "Token-Key":token.TokenKey,
// "Token-Value":token.TokenValue
// },
// data:{
// page:page
// },
// dataType:"JSON",
// success:function(data){
// // console.log(data);
// //console.log(data.data)
// if(data.code == "SUCCESS"){
// var html = "";
// // console.log(data.data.lists);
// for(var i =0;i < data.data.lists.length;i++){
// var d = data.data.lists[i];
// var img = "<img width='200' height='200' src='"+d.icon+"'/>";
// html +="<tr><td>"+ d.aId+"</td><td>"+ d.cId+"</td><td>"+ d.developer+"</td><td>"+ d.download+"</td><td>"+img+"</td><td>"+ d.name+"</td><td>"+ d.orders+"</td><td>"+ d.price+"</td></tr>";
// }
// // console.log(html);
// $("#data").html(html);
// }
// }
// }) // 分页
var curPage = 1; //当前页
getData();
// 获取数据
function getData(page) {
$.ajax({
url: "http://beta.store.api.vrseen.net/app/list",
type: "POST",
headers: {
"Token-Key": token.TokenKey,
"Token-Value": token.TokenValue
},
data: {
page: page
},
dataType: "JSON",
beforeSend: function() {
$("#list ul").append("<li id='loading'>loading...</li>"); //显示加载动画
},
success: function(data) {
var zys = Math.ceil(data.data.page.total_pages); //总页数 34页
var total = Math.ceil(data.data.page.last / 7); //总页数 34页 ,显示条数
var current = Number(data.data.page.current); //当前页数
$("#list ul").empty(); //清空数据区
curPage = current; //当前页
totalPage = zys; //显示页数
// var li = "";
// $.each(list,function(data){ //遍历json数据列
// li += "<li><a href='#'>"+total+"</a></li>";
// //console.log(data)
// });
// $("#list ul").append(li);
// console.log(data.data.page.total_pages)
//console.log(current)
if (data.code == "SUCCESS") {
var html = "";
for (var i = 0; i < data.data.lists.length; i++) {
var d = data.data.lists[i];
var img = "<img width='200' height='200' src='" + d.icon + "'/>";
html += "<tr><td>" + d.aId + "</td><td>" + d.cId + "</td><td>" + d.developer + "</td><td>" + d.download + "</td><td>" + img + "</td><td>" + d.name + "</td><td>" + d.orders + "</td><td>" + d.price + "</td></tr>";
}
// console.log(html);
$("#data").html(html);
}
}, complete: function() { //生成分页条
getPageBar();
newdata();
go();
},
error: function() {
alert("数据加载失败");
} });
}
//获取分页条
function getPageBar() {
//页码大于最大页数
if (curPage > totalPage) curPage = totalPage;
//页码小于1
if (curPage < 1) curPage = 1;
// 显示内容 当前页和总页数
pageStr = "<span>当前页:</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);
}
// 更新数据
function newdata() {
$("#pagecount span a").on('click', function() {
var rel = $(this).attr("rel");
if (rel) {
getData(rel);
$("#fy_n").val(rel);
}
});
}
// 跳转功能
function go() {
$("#go").on('click', function() {
var value = $('#fy_n').val();
//console.log(value);
if (value) {
getData(value);
}
});
}
})
</script>
</body> </html>
ajax+分页的更多相关文章
- [jQuery]jQuery DataTables插件自定义Ajax分页实现
		
前言 昨天在博客园的博问上帮一位园友解决了一个问题,我觉得有必要记录一下,万一有人也遇上了呢. 问题描述 园友是做前端的,产品经理要求他使用jQuery DataTables插件显示一个列表,要实现分 ...
 - ThinkPHP 整合Bootstrap Ajax分页
		
ThinkPHP Ajax分页代码 publicfunction index() { $where=array(); $name = I('name'); if(!empty($name)){ $wh ...
 - yii2的分页和ajax分页
		
要想使用Yii分页类第一步:在控制器层加载分页类 use yii\data\Pagination;第二步: 使用model层查询数据,并用分分页,限制每页的显示条数$data = User::find ...
 - [js开源组件开发]ajax分页组件
		
ajax分页组件 我以平均每一周出一个开源的js组件为目标行动着,虽然每个组件并不是很庞大,它只完成某一个较小部分的工作,但相信,只要有付出,总会得到回报的.这个组件主要完成分页的工作. 这张图里显示 ...
 - MvcPager 概述 MvcPager 分页示例 — 标准Ajax分页  对SEO进行优化的ajax分页 (支持asp.net mvc)
		
该示例演示如何使用MvcPager最基本的Ajax分页模式. 使用AjaxHelper的Pager扩展方法来实现Ajax分页,使用Ajax分页模式时,必须至少指定MvcAjaxOptions的Upda ...
 - MVC - 11(下)jquery.tmpl.js +ajax分页
		
继续 mvc-11(上).dto:http://www.cnblogs.com/tangge/p/3840060.html jquery.tmpl.js 下载:http://pan.baidu.com ...
 - laraver ajax分页
		
,设置分页容器参考laraver手册 我的设置代码如下: ,控制器调用的方法:代码如下 ); include($path); $content = ob_get_cle ...
 - PHP+jQuery 长文章分页类 ( 支持 url  / ajax 分页方式 )
		
/* ******* 环境:Apache2.2.8 ( 2.2.17 ) + PHP5.2.6 ( 5.3.3 ) + MySQL5.0.51b ( 5.5.8 ) + jQuery-1.8 **** ...
 - PHP+jQuery 列表分页类 ( 支持 url 分页 / ajax 分页 )
		
/* ******* 环境:Apache2.2.8 ( 2.2.17 ) + PHP5.2.6 ( 5.3.3 ) + MySQL5.0.51b ( 5.5.8 ) + jQuery-1.8.3.mi ...
 - php--yii框架中的ajax分页与yii框架自带的分页
		
要想使用Yii分页类 第一步:在控制器层加载分页类 use yii\data\Pagination; 第二步: 使用model层查询数据,并用分分页,限制每页的显示条数 $data = Zhao::f ...
 
随机推荐
- 如何定制 Calico 网络 Policy  - 每天5分钟玩转 Docker 容器技术(70)
			
Calico 默认的 policy 规则是:容器只能与同一个 calico 网络中的容器通信.本节讨论如何定制 policy. calico 能够让用户定义灵活的 policy 规则,精细化控制进出容 ...
 - Exception in thread "main" org.hibernate.TransientObjectException: object references an unsaved tran
			
今天在使用一对多,多对一保存数据的时候出现了这个错误 Hibernate错误: Exception in thread "main" org.hibernate.Transient ...
 - 一条语句导致CPU持续100%
			
一大早收到一堆CPU预警邮件,通常每天只在统计作业执行期间会收到2~3封CPU预警邮件.这次的预警来自另一台服务器,并且明细数据显示其CPU一直维持在49%.登录到服务器,查看任务管理器(查看资源监视 ...
 - C#关于通过反射PropertyType判读字符串类型方法
			
今天在通过反射判读实体属性来映射数据库表是否修改的时候发现,最开始我通过 p.GetValue(entity) == null && p.PropertyType.IsValueTyp ...
 - Linux Ubuntu从零开始部署web环境及项目 -----tomcat+jdk+mysql  (二)
			
上一篇介绍如何在linux系统下搭建ssh环境 这篇开始将如何搭建web服务器 1,下载文件 在官网下载好 tomcat.jdk.mysql的linux压缩包 后缀名为.tar.gz 并通过xftp上 ...
 - python基础之五大标准数据类型
			
学习一门语言,往往都是从Hello World开始. 但是笔者认为,在一个黑框框中输出一个"你好,世界"并没有什么了不起,要看透事物的本质,熟悉一门语言,就要了解其底层,就是我们常 ...
 - Grunt针对静态文件的压缩,版本控制打包方案
			
在讲之前先谈谈大致步骤:安装nodejs -> 全局安装grunt -> 项目创建package.json --> 项目安装grunt以及grunt插件 -> 配置Gruntf ...
 - vue学习第一篇 hello world
			
计划近期开始学习vue.js.先敲一个hello wolrd作为开始. <!DOCTYPE html> <html lang="en"> <head& ...
 - http://codeforces.com/contest/828
			
哇这是我打的第一场cf,第一题都wa了无数次,然后第二题差几分钟交 ,第二天一交就AC了内心是崩溃的.果然我还是太菜l.... A. Restaurant Tables time limit per ...
 - OpenVPN CentOS7 安装部署配置详解
			
一 .概念相关 1.vpn 介绍 vpn 虚拟专用网络,是依靠isp和其他的nsp,在公共网络中建立专用的数据通信网络的技术.在vpn中任意两点之间的链接并没有传统的专网所需的端到端的物理链路,而是利 ...