asp+ajax实现静态页面分页的代码_AJAX相关

最近因工作需要,要在静态页面上实现分页,想了下,决定用AJAX来实现,所以就捣鼓了下面这么个东西,截图如下:

复制代码 代码如下:

<html>
<head>
<title>AJAX静态分页</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">

<style type="text/css">
<!--
body                { text-align:center;font:14px Verdana,sans-serif; }
a:link,a:visited    { color:#00f;text-decoration:none; }
a:hover                { color:#f00;text-decoration:underline; }
#main                { width:450px;background:#f2f2f2;border:1px #999 solid;padding:10px;text-align:left;line-height:150%;margin:0 auto; }
#title                { width:100%;line-height:30px;border-bottom:1px #999 solid;display:table; }
#left                { float:left;width:50%;text-align:left;font-size:14px;font-weight:bold; }
#right                { float:left;width:50%;text-align:right; }
#content            { width:100%;margin:10px 0;clear:both; }
#download            { width:100%;margin:10px 0;line-height:150%; }
-->
</style>

<script type="text/javascript">
<!--
function createAjax() {            //该函数将返回XMLHTTP对象实例
    var _xmlhttp;
    try {    
        _xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");    //IE的创建方式
    }
    catch (e) {
        try {
            _xmlhttp=new XMLHttpRequest();    //FF等浏览器的创建方式
        }
        catch (e) {
            _xmlhttp=false;        //如果创建失败,将返回false
        }
    }
    return _xmlhttp;    //返回xmlhttp对象实例
}

function getweblist(page) {        //该函数用来获取分页数据
    var xmlhttp=createAjax();    //创建变量xmlhttp,并将createAjax()函数创建的对象实例赋于它
    if (xmlhttp) {        //如果xmlhttp对象创建成功,则执行条件语句中的程序
        var content=document.getElementById('content');        //获取页面中id为content的对象
        xmlhttp.open('get','server.asp?page='+page+'&n='+Math.random(),true);    //打开与服务器的连接,其中get为连接方式,server.asp为要连接的页面,有两个参数,其中第一个参数page为需要返回数据的页数,第二个参数n为一个随机数,这样每次发送的URL都会不一样,相当于都向服务器发出一个新的请求,避免浏览器缓存数据。
        xmlhttp.onreadystatechange=function() {        //为xmlhttp对象的readyState属性指定事件,改属性值改变时,则会执行其中的程序
            if (xmlhttp.readyState==4 && xmlhttp.status==200) {    //如果xmlhttp.readyState==4并且xmlhttp.status==200时,执行条件中的程序,其中readyState有五个值,4为请求完成,是客户端向服务器提交的数据成功到达,status有N多值-_-!!,其中200为OK,是指服务器向客户端完成发送数据。
                content.innerHTML=unescape(xmlhttp.responseText);    //将服务器返回的数据解码并写入指定的ID中。
            }
            else {
                content.innerHTML='<span style="color:red">正在从服务器提取数据......</span>';    //如果服务器没有完成传送,则向用户提示正在传输。
            }
        }
        xmlhttp.send(null);    //向服务器发送请求,因为是get请求,会直接附在URL后面,所以这里括号中的数据为null,IE中也可以不写,但FF就必须加上null,否则会发送失败。
    }
}

function edit() {    //编辑分页显示条数的函数
    var str='<form style="margin:0">每页显示 <input type="text" id="pagesize" size="3"> 条 <input type="button" id="savebtn" value="保存" onclick="save()"> <input type="button" id="cancelbtn" value="取消" onclick="rightinfo()"></form>'        //定义html字符串
    var right=document.getElementById('right');    //获得页面中的right对象。
    right.innerHTML=str;    将str变量的值写入该对象中。
}

function rightinfo() {        //right对象中的原始信息,请在页面开始和被显示条数被修改后调用
    document.getElementById('right').innerHTML='<a href="javascript:void(edit())" title="修改每页显示条数">Edit</a>';
}

function save() {    //保存修改后的显示条数
    var pagesize=document.getElementById('pagesize');    //这个就不写了,跟上面的用法一样。
    if (pagesize.value==''||/[0-9]+/.test(pagesize.value)==false) {        //确定用户输入的新数据是不是一个数字
        alert("请正确填写每页显示条数! ");
        return;
    }
    var xmlhttp=createAjax();    //创建对象
    if (xmlhttp) {
        xmlhttp.open('get','set.asp?pagesize='+pagesize.value+'&n='+Math.random(),true)        //参上同看
        xmlhttp.onreadystatechange=function() {
            if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                document.getElementById('right').innerHTML=unescape(xmlhttp.responseText);    //先写入从服务器返回的字符串,如果成功,会写入completed。
                getweblist(1);        //从新获取新修改后的第一页的数据
                setTimeout('rightinfo()',3000);        //3秒后将right对象的原始字符串写入。
            }
            else {
                document.getElementById('pagesize').disabled=true;    //将几个FORM表单的元素都设为不可改动
                document.getElementById('savebtn').disabled=true;
                document.getElementById('cancelbtn').disabled=true;
            }
        }
        xmlhttp.send(null);    //发送请求。
    }
}

//-->
</script>
</head>

<body onload="getweblist(1);rightinfo();">
    <div id="main">
        <div id="title">
            <div id="left">静态分页的AJAX实现</div>
            <div id="right"></div>
        </div>
        <div id="content"></div>
        <div id="download">
            作者:十一狼<br />
            联系:275915854(QQ) 112183883@163.com(email)<br />
            下载:<a href="http://www.w3cg.net/Ajax.rar" target="_blank">http://www.w3cg.net/Ajax.rar</a>
        </div>

    </div>
</body>
</html>

打包文件下载

时间: 2024-11-08 21:08:42

asp+ajax实现静态页面分页的代码_AJAX相关的相关文章

基于ajax实现无刷新分页的方法_AJAX相关

本文实例讲述了基于ajax实现无刷新分页的方法.分享给大家供大家参考.具体如下: 在普通的分页中,一旦页码改变,则url改变,整个页面都会刷新,如果我们希望页码的改变不影响整个网页的变动,可以使用ajax技术. AJAX 是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 通过客户端html代码,用ajax把服务器中的数据通过get方式传递过来,显示在html中. <!doct

asp.net+Ajax 文本文件静态分页实现代码_AJAX相关

服务端部分 ,文本文件分页的类.主要在流中处理.当然我看过网上的用</br> 关键字进行分页的 个人觉得不是所有时候都能满足要求,所一自己写了这个,还是费了点时间,主要在于本人太笨,基础很差.希望大家个出更好的建议 复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; using System.IO; namespace Txt { public class TxtPager { public

ajax+asp无限级分类树型结构的代码_AJAX相关

复制代码 代码如下: <% '数据库字段为类属性,添加.删除.修改.操作检查等函数为类的方法 Class Cls_Leibie     Private nClassID,sClassName,nParentID,sParentPath,nDepth,nRootID,nChild,nOrderID,sFilePath '定义私有变量(类的属性,即数据库字段对应的变量)     Private rs,sql,ErrorStr     Private Sub Class_Initialize()   

ajax结合豆瓣搜索结果进行分页完整代码_AJAX相关

使用豆瓣api,得到分页结果.相当于从后台数据库获得的结果一样.所不同的是,没法事先知道页数.虽然通过请求api可以获得总页数,但由于ajax是异步的,所以对于分页一开始就要给出总页数来说,这是没有意义的.我使用了一个固定总页数65(正是搜索javascript书籍返回的总页数).所以其他书籍是并不是65页,会出现多页或者少页的情况,这并不是bug. 特点 1,全程不需要接触后台,前端独立就可以(我找过好长时间都没找过完整的例子). 2,使用了bootstrap的pagination制作页码和p

AJAX防止页面缓存的代码_AJAX相关

采用AJAX技术的时候 通常我们无刷新页面提交数据后 用同样的url去获取数据的时候会发现是以前的数据~那样就给client端带来假象了~~ 采用以下的方法可以取消缓存  htm网页  <metahttp-equiv="pragma"content="no-cache">  <metahttp-equiv="cache-control"content="no-cache,must-revalidate">

Ajax 返回字符串的过滤实现代码_AJAX相关

JS代码如下. 在调用Ajax返回后.一个奇怪的问题.返回的resultString值是"ok"但是跟字符串"ok"比较确不相等. Ajax调用out.println()返回的都添加了哪些参数? 放开注释的部分也过滤不掉. 哪位高手遇到过类似的问题. 如何解决的. 请说一下.out.println();返回的到底是个啥. Js代码 复制代码 代码如下: // 本地下载 function FTPTest(ip, port, username, password, fi

用实现ajax读博客rss示例代码_AJAX相关

ajax读rss示例 blogjava原创区   blogjava新手区   blogjava非技术区   综合区 输入一个RSS地址:

ASP+Ajax实现无刷新评论简单例子_AJAX相关

<!--#include file="command.asp" --> <% Dim  CurPage CurPage=cint(Request("page")) If CurPage = empty or CurPage<1 Then       CurPage = 1 End If Response.ContentType="application/xml" Response.Charset="gb2312&

ASP.NET动态生成静态页面的实例代码

生成静态页有很多好处,可以缓解服务器压力.方便搜索网站搜索等等,下面介绍一下生成静态页的实例代码,有需要的朋友可以参考一下   最近突然想把项目中新闻管理模块做成静态页,在网上找到很多很好的文章,在这里记录一下,现在只是实现静态页面的生成并没有实现分页功能.其主要原理就是读取数据库的数据然后替换掉静态模板页的内容. 首先制作一个模板页,暂时命名为template.htm,示例代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit