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>

时间: 2024-08-01 10:45:19

ajax+分页的相关文章

基于jquery的ajax分页插件(demo+源码)

前几天打开自己的博客园主页,无意间发现自己的园龄竟然有4年之久了.可是看自己的博客列表却是空空如也,其实之前也有写过,但是一直没发布(然而好像并没有什么卵用).刚开始学习编程时就接触到博客园,且在博客园学习了很多的知识,看过很多人的分享.说来也惭愧,自己没能为园友们分享自己的所学所得(毕竟水平比较差). 过去的一年也是辗转了几个城市换了几份工作(注定本命年不太平?).八月份来到现在所在的公司(OTA行业),公司是做互联网的,所以可能大家的前端都屌屌的?之前一直从事.NET开发(现在在这边也是),

Django - Ajax分页

目前总结了2种方法: 1. Ajax 分页 尼玛各种google,stackoverflow,搞了好久才总结出这个,之前使用Pagination tag loading的方式不好用,并且不能进行ajax提交请求的页面无刷新的方式去分页 1.view.py 1 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger 2 from django.shortcuts import render 3 def xxx

瀑布流ajax分页

index.jsp 1 <%@ page language="java" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML> 3 <html> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> 6 <title>图片&

ajax 分页完全代码整理

/* ajax分页 */var page_cur = 1; //当前页 var total_num, page_size, page_total_num;//总记录数,每页条数,总页数function getData(page) { //获取当前页数据     $.ajax({          type: 'GET',          url: 处理数据地址,          data: {              'page': page,              'catid': 

jQuery、Ajax分页

1.效果图预览 2.HTML代码 <div class="row"> <div class="col-lg-12 col-sm-12 col-xs-12 col-xxs-12"> <table class="table table-striped table-hover table-bordered bootstrap-datatable " id="TemplateTable"> <

jquery ajax分页插件特效源代码demo完整版

原文:jquery ajax分页插件特效源代码demo完整版 源代码下载地址:http://www.zuidaima.com/share/1550463586798592.htm 网上找的,原版本没有测试数据和建表脚本啥的,我给加上了.

Pagination jquery ajax 分页参考资料

http://www.zhangxinxu.com/wordpress/2010/01/jquery-pagination-ajax%E5%88%86%E9%A1%B5%E6%8F%92%E4%BB%B6%E4%B8%AD%E6%96%87%E8%AF%A6%E8%A7%A3/ 个人博客参考 中文项目地址:http://www.zhangxinxu.com/jq/pagination_zh/ 原项目地址:http://plugins.jquery.com/project/pagination 版

codeigniter实现ajax分页

<?php /** *417 add 主要是实现ajax分页 **/ class MY_Pagination extends CI_Pagination{ public function __construct() { parent::__construct(); } /** * Generate the pagination links * * @access public * @return string */ function create_ajax_links() { // If our

MvcPager 概述 MvcPager 分页示例 — 标准Ajax分页 对SEO进行优化的ajax分页 (支持asp.net mvc)

该示例演示如何使用MvcPager最基本的Ajax分页模式. 使用AjaxHelper的Pager扩展方法来实现Ajax分页,使用Ajax分页模式时,必须至少指定MvcAjaxOptions的UpdateTargetId属性,该属性值即是分页后要通过Ajax来更新的 DOM 元素的 ID. Ajax.Pager()方法返回AjaxPager对象,您可以通过Ajax.Pager()方法的重载来传递PagerOptions和MvcAjaxOptions参数,也可以通过新的AjaxPager的Opti

yii下多条件多表组合查询以及自写ajax分页

多条件组合查询主要用到yii的CDbCriteria,这个类很多oem框架都有,非常好用. 前台查询表单效果是这样的,多个条件组,每个组里放多个input,name为数组.当任何一个复选框被勾选上,发起ajax请求,当然,最顶层的复选框勾上时判断是否有子项,有的话把所有的子项勾选上. 但提交一次请求会向服务端post这样一个表单 其中currentPage是隐藏字段,当分页按钮被点击是这个字段的值会发生变化,并且发起查询请求. 这个表单会提交到如下的action中进行处理 1 <?php 2 3