我的环境是:
用ajax从后台,经过三层,取出数据,转化成json,然后传给前台,显示在一个动态生成的table中。
这些数据呢,是我从一个view中读出来的,不是直接从表中读的。问题:
因为,数据量会很大,需要分页。这个分页怎么做?求思路,最好有代码。

解决方案 »

  1.   

    每次点击上一页下一页发送一个ajax请求,条件带上当前页码,在sql中取出对应条数。
    因为数据量比较大,sql中不能一次全部取出,否则可能会造成内存溢出
      

  2.   

    你这个无外乎就两种情况,一种是ajax多次请求,点击每一页的时候向后台发送请求,但是你说是从一个view中读取出来的,不是直接从表中读取的,那么你就要考虑在服务器端使用缓存,这是后台的事情,你要自己看着办,这种方式适合数据信息比较重要的情况,如果你的数据信息不是很重要的话,那么第二种情况就是在客户端缓存,因为你的数据量很大,你可以考虑使用userData第一次将数据缓存到客户端,然后分页读取userData里面的数据。userData的使用可以看看网上的介绍,给你一个例子程序:
    <style type="text/css">
    .storeuserData{
        behavior: url(#default#userData);
    }
    </style>
    <meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
    <title>使用userData实现大数据存储</title></head>
    <body>

    <script type="text/javascript">
    function fnSaveInput(){   
    var oPersist = oPersistForm.oPersistInput;
    oPersist.setAttribute("sPersist", oPersist.value);
    oPersist.save("oXMLBranch");
    }
    function fnLoadInput(){
       var oPersist = oPersistForm.oPersistInput;
       oPersist.load("oXMLBranch");   
       oPersist.value = oPersist.getAttribute("sPersist");
    }
    </script><form id="oPersistForm">    
       <input class="storeuserData" type="text" id="oPersistInput">
       <input type="button" value="Load" onclick="fnLoadInput()">   
       <input type="button" value="Save" onclick="fnSaveInput()">
    </form> 
      

  3.   

    分页只需要显示的总数量,单页的数量,URL,页码值
      

  4.   

    sql中控制,用的什么数据库?