ajax数据分页

ajax分页教程的前端代码,html部份我们就不讲了.直接开始script中的内容.首先我们定义了4个全局变量,分别是:

all_page:总页数,创建页码的根据
all_record:数据总条数,all_record/pagecount=all_page 得到总页数
current_page:当前请求的页码.传送给服务端
pagecount:每页显示的条数,传送给服务端

 

<html>
<head>
<title>ajax数据分页</title>
<style>
body{
font-size:12px;
}
table{
border-collaps教程e:collapse;
}
li{
list-style:none;
border:1px solid;
width:20px;
height:20px;
text-align:center;
margin:5px;
padding:2px;
float:left;
cursor:pointer;
}
</style>
</head>
<body>
默认显示每页为5条数据,你可以在下面文本框设置每页的显示条数<hr/>
输入每页要显示的条数:<input id="edit_count" type="text" />  <input type="button" type="button" value="确定" onclick="read()"/>
<table border="1"><!--该表格用来显示数据内容-->
<thead><tr><td>编号</td><td>内容</td></tr></thead>
<tbody id="a"></tbody>
</table>
<span id="msg" style="color:red"></span>
<br/>
<ul id="page"><!--页导航-->

</ul>
<script type="text/网页特效">
var all_page;//总页数
var all_record;//总条数
var current_page;//当前页
var pagecount;//每页显示的条数
function ajax_xmlhttp(){
//在ie中创建xmlhttprequest,适用于ie5.0以上所有版本
var msxmlhttp = new array("msxml2.xmlhttp.5.0","msxml2.xmlhttp.4.0","msxml2.xmlhttp.3.0","msxml2.xmlhttp","microsoft.xmlhttp");
for(var i=0; i<msxmlhttp.length; i++){
try
{
_xmlhttp=new activexobject(msxmlhttp[i]);
}
catch(e)
{
_xmlhttp=null;
}
} //循环创建基于ie浏览器的xmlhttp.结束
//如果非ie浏览器,则创建基于firefox等浏览器的xmlhttprequest
if(!_xmlhttp && typeof xmlhttprequest != "undefined")
{
_xmlhttp=new xmlhttprequest();
}
return _xmlhttp;
}

//获取元素函数
function $(elem){
    return typeof elem == "string" ? document.getelementbyid(elem) : elem;
}

//读取数据函数
function read(){
if(arguments.length!=0){//如果有参数传递过来,则证明你点击了某个页码
var e = arguments[0] || window.event; //标准化事件对象
var obj = e.target || e.srcelement; //获取事件对象,你点击的那个页码元素
current_page = parseint(obj.innerhtml);//获取元素中的数字值,证明你要请求的是第几页
$("msg").innerhtml = "当前为第"+current_page+"页";//提示信息:当前请求的页
}

pagecount = $("edit_count").value;//获取文本框的值
if(pagecount.length == 0){ //如果文本框为空
    pagecount = 5;         //默认每页显示5条数据
}
var ajax = ajax_xmlhttp(); //将xmlhttprequest对象赋值给一个变量.
ajax.open("post","ajax_page.asp教程?action=read&pagecount="+pagecount+"& current_page="+current_page,true);//设置请求方式,请求的网页,url的action参数为read,异步请求
ajax.onreadystatechange = function(){//你也可以这里指定一个已经写好的函数名称
    if(ajax.readystate == 4){//数据返回成功
        if(ajax.status == 200){//http请求状态码返回ok
            var xmldata = ajax.responsexml;//以xml格式接收返回的数据,并保存在xmldata变量里
            all_record = xmldata.getelementsbytagname("allrecord")[0].firstchild.nodevalue;
            all_page = all_record / pagecount;
            var page_list = $("page");
            while(page_list.childnodes.length!=0){
                page_list.removechild(page_list.childnodes[0]);
            }
            for(var i=0;i<math.ceil(all_page);i++){ //动态创建页码列表
                var li = document.createelement("li");
                li.innerhtml = i+1;//因为i以0开始,所以要+1显示页码
                li.onclick = function(e){read(e)};//为每个li的页码绑定单击事件
                page_list.appendchild(li);//将生成好的页码元素放到div里
            }
            var list = xmldata.getelementsbytagname("list");//在返回的数据里,获取所有list标签
            if(list.length!=0){
                var t = document.getelementbyid("a");//获取展示数据的表格
                while(t.rows.length!=0){ //在读取数据时如果表格已存在行.一律删除
                    t.removechild(t.rows[0]);
                }
                for(var i=0;i<list.length;i++){
                    var tr = t.insertrow(t.rows.length);//有几个list就为表格增加几行.
                    var td = tr.insertcell(0);//第一个单元格存放数据编号
                    td.innerhtml = list[i].childnodes[0].firstchild.nodevalue;
                    var td = tr.insertcell(1);//第二个单元格存放数据内容
                    td.innerhtml = list[i].childnodes[1].firstchild.nodevalue;
                }
          
            }
        }
    }
}
ajax.send(null);//提交请求,参数为null
}

read();//运行read函数
</script>
</body>
</html>

时间: 2024-09-27 16:52:13

ajax数据分页的相关文章

利用AJAX实现无刷新数据分页_AJAX相关

以前在使用Asp.Net的时候用过GridView这个控件,这个控件自带分页的功能,虽然很丑,但是功能还是很强大的.这里呢,给大家展示一下更加给力的方式--利用AJAX无刷新直接从服务器获取数据分页. 一.实现过程 注意:一下的内容都是在服务器内使用的. 首先要在服务器的路径下建立几个文件,比如,page1.txt,page2.txt,page3.txt. 每个文件中放入数组,如下: 复制代码 代码如下: [{user:'blue',pass:'123'},{user:'aaa',pass:'d

利用AJAX实现无刷新数据分页

以前在使用Asp.Net的时候用过GridView这个控件,这个控件自带分页的功能,虽然很丑,但是功能还是很强大的.这里呢,给大家展示一下更加给力的方式--利用AJAX无刷新直接从服务器获取数据分页. 一.实现过程 注意:一下的内容都是在服务器内使用的. 首先要在服务器的路径下建立几个文件,比如,page1.txt,page2.txt,page3.txt. 每个文件中放入数组,如下: 复制代码 代码如下:[{user:'blue',pass:'123'},{user:'aaa',pass:'ds

使用ObjectDataSource控件在ASP.NET中实现Ajax真分页

ASP.NET 3.5中新增加的ListView控件是一个用于页面数据绑定和界面布局的非常棒的控件,它在 ASP.NET 2.0 GridView的基础上做了很多改进,用户在使用时可以控制的元素更多,开发时的灵活性更大 了,个人觉得ListView在使用时比DataGrid和GirdView更加顺手.ListView控件本身并没有分页功能,不 过借助于ASP.NET中新增加的DataPager控件,我们可以非常方便地对ListView中的数据设置分页,这几乎 不需要开发人员写一行代码,将List

PHP+Ajax实现分页技术

PHP+Ajax实现分页技术: 基于php和ajax的分页技术代码,下面有两个php文件,一个是sn_inq.php,另一个是sn_show.php,前一个php文件调用后一个php文件,实现ajax分页,运行sn_inq即可实现效果,不过得修改数据库哦.具体代码如下:红色标注的地方要特别注意修改哦! 我的数据库名是inv,表名是sn,字段有:sn_id,sn_plant,sn_sales,sn_act,sn_type,sn_sts..... 1.sn_inq.php //getFormValu

ASP AJAX 静态分页第1/2页_AJAX相关

<html> <head> <title>AJAX静态分页演示:http://www.jb51.net</title> <meta http-equiv="content-type" content="text/html;charset=gb2312"> <style type="text/css"> <!-- body                { text-al

基于AJAX的分页类实现代码_AJAX相关

复制代码 代码如下: /** * <p>pagination.js * <p>通用的基于AJAX的分页类 * @author jeanwendy * @version 1.0 */ var paginationIndex = 0; var pagination = function(trTemplatId) {     $().ajaxStart(function() {         $.blockUI({             message : '<table>

asp.net 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页_实用技巧

ListView控件本身并没有分页功能,不过借助于ASP.NET中新增加的DataPager控件,我们可以非常方便地对ListView中的数据设置分页,这几乎不需要开发人员写一行代码,将ListView控件放到页面上,设置好布局和DataSource,然后再添加一个DataPager控件,将它的PagedControlID属性设置成ListView的ID,PageSize中设置每页要显示的数据条数,然后在Fields中设置好分页的样式(当然你完全可以不用去管样式,ASP.NET会根据内置的样式来

asp.net+ajax简单分页实例分析

本文实例讲述了asp.net+ajax简单分页实现方法.分享给大家供大家参考,具体如下: 这里涉及两个.aspx文件,一个叫Default.aspx,一个叫AjaxOperations.aspx,第一个用来显示一些测试数据,后一个用来对分页进行处理.js文件夹下面还有一个testJs.js的文件,它就是ajax操作的核心部分.不错,code is cheap.看代码: /*testJs.js*/ // 此函数等价于document.getElementById /document.all fun

asp.net+ajax简单分页实例分析_AJAX相关

本文实例讲述了asp.net+ajax简单分页实现方法.分享给大家供大家参考,具体如下: 这里涉及两个.aspx文件,一个叫Default.aspx,一个叫AjaxOperations.aspx,第一个用来显示一些测试数据,后一个用来对分页进行处理.js文件夹下面还有一个testJs.js的文件,它就是ajax操作的核心部分.不错,code is cheap.看代码: /*testJs.js*/ // 此函数等价于document.getElementById /document.all fun