模拟请求分页参数

下面是请求的例子 

<!DOCTYPE html>
<html>
<head>
	<title>模拟请求分页参数</title>	 
</head>
<body>
  <button class="js-page" data-type="pre" type="button">上100</button>
  <button class="js-page" data-type="next" type="button">下100</button>
  <div>
    <span id="start"></span>
    ~
    <span id="end"></span>
    / 
    共
    <span id="pageCount"></span>
  </div>
</body>

<script src="jquery.min.js"></script>
<script>
$(function() {
  var dataList = [ "page:1", "page: 2", "page: 3"];
  var dataListNum = 0; 
  var pageCount = 300; 
  var pageSize = 100;
  var start = 1;
  var end = 100;
  var nowCount = 0;

  var pageNum = 0; //不用这个判断数组下标
  var pageParamArr = ["{}"];
  var pageParamStr = "";

  getData("{}");

  $(".js-page").click(function() {
    if( $(this).attr("data-type") ===  "next") {
      // 到达末页不请求了。
      if(nowCount >= pageCount) {   
        return;
      } 
     
      pageNum++;
      end += 100;
      start += 100;

    } else {
      if( start > 1) {
        end -= 100;
        start -= 100;
        pageParamArr.splice(pageParamArr.length - 1, 1);
      } else {
        return;
      }

    }
    console.log(pageParamArr.length-1);
    getData( pageParamArr[pageParamArr.length-1] );
  });

 function getData(params) {
    
  console.log("请求的参数=" + params);
  pageParamStr += dataList[dataListNum];
  dataListNum++;
  
  // 展示和判断分开
  if( end <= pageCount) {    
    $("#start").text(start);
    $("#end").text(end);
  }

  // 获取后端返回数据的长度;
  nowCount += 100;
  if(nowCount < pageCount) {   
    pageParamArr.push(pageParamStr);
  } 
  
  console.log("存储的参数:");
  console.log(pageParamArr);
  
 }


$("#pageCount").text(pageCount);
 
});

</script>
</html>

 

 

使用方法: 支持JAVA和PHP两种后台。 PHP:直接将WebRoot下的文件放到php服务器上直接运行即可,记得启用sqlite3。 JAVA:修改user-manage.js,将访问后台的url由"datasource.php"改为"datasource.jsp",然后将WebRoot下的文件放到tomcat下直接运行。也可使用Eclipse直接导入此项目文件。 简要说明: 使用DataTable默认的ajax交互功能,对传给后台和从后台获取的数据都有命名格式要求,这样一来耦合度较高,不利于后期扩展,不能直接适用于需要跟多种不同前端或其他业务交互的项目。本例子主要展示了自行封装请求参数和返回数据的用法,对后台的交互没有任何格式和命名限制。 基于Bootstrap 2.3.2,相关的其他插件包括图标控件FontAwesome、等待提示控件Spinjs(修改版)、弹窗控件lhgdialog(修改版) 主要展现: 封装请求参数(查询、排序、分页,不再需要data、dataFilter和dataSrc) 封装返回数据 自定义查询参数 服务器分页 自行控制和自定义遮罩效果 生成自定义效果的单元格(在线离线) 生成复选框单元格 响应复选框选择事件 生成操作按钮单元格 响应操作栏按钮点击事件 响应行点击事件 渲染回调事件(默认选中第一行) 分页栏增加跳页功能(直接修改了dataTables.bootstrap.js和dataTables.bootstrap.css) CSS实现单元格超长文字省略号显示 CSS实现单元格连续纯字母数字强制换行显示
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值