【ajax局部刷新div】Ajax实现页面局部刷新示例代码小结

时间:2018-11-24  来源:页面特效  阅读:

网页自动刷新功能在web网站上已经屡见不鲜了,如即时新闻信息,股票信息等,都需要不断获取最新信息。在传统的web实现方式中,想要实现类似的效果,必须进行整个页面的刷新,在网络速度受到一定限制的情况下,这种因为一个局部变动而牵动整个页面的处理方式显得有些得不偿失。Ajax技术的出现很好的解决了这个问题,利用Ajax技术可以实现网页的局部刷新,只更新指定的数据,并不更新其他的数据。
   现在创建一个实例,以演示网页的自动刷新功能,该实例模拟火车侯票大厅的显示字幕。
1,服务器端代码


该实例服务器端代码的功能比较简单,即产生一个随机数,并以XML文件形式返回给客户端。打开记事本,输入下列代码:

 代码如下 <%@ page contentType="text/html; charset=gb2312" %>
<%
response.setContentType("text/xml; charset=UTF-8");//设置输出信息的格式及字符集
response.setHeader("Cache-Control","no-cache");
out.println("");
for(int i=0;i<2;i++){
    out.println(""+(int)(Math.random()*10)+"");
    out.println("" +(int)(Math.random()*100)+ "");
}
out.println("
");
out.close();
%>

保存上述代码,名称为auto.jsp。在该文件中,使用java.lang包中的Math类,产生一个随机数。

2,客户端代码


本实例客户端代码主要利用服务器端返回的数字,指定显示样式。打开记事本,输入下列代码:

 代码如下

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>



<script language="javascript">


var XMLHttpReq;
  //创建XMLHttpRequest对象      
    function createXMLHttpRequest() {
  if(window.XMLHttpRequest) { //Mozilla 浏览器
   XMLHttpReq = new XMLHttpRequest();
  }
  else if (window.ActiveXObject) { // IE浏览器
   try {
    XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
    try {
     XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {}
   }
  }
 }
 //发送请求函数
 function sendRequest() {
  createXMLHttpRequest();
        var url = "auto.jsp";
  XMLHttpReq.open("GET", url, true);
  XMLHttpReq.onreadystatechange = processResponse;//指定响应函数
  XMLHttpReq.send(null);  // 发送请求
 }
 // 处理返回信息函数
    function processResponse() {
     if (XMLHttpReq.readyState == 4) { // 判断对象状态
         if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
    DisplayHot();
    setTimeout("sendRequest()", 1000);
            } else { //页面不正常
                window.alert("您所请求的页面有异常。");
            }
        }
    }
    function DisplayHot() {
     var name = XMLHttpReq.responseXML.getElementsByTagName("name")[0].firstChild.nodeValue;
     var count = XMLHttpReq.responseXML.getElementsByTagName("count")[0].firstChild.nodeValue;

           document.getElementById("cheh").innerHTML = "T-"+name+"次列车";
    document.getElementById("price").innerHTML = count+"元";
 }


</script>


   开往北京的列车


   车号:
  


   价格:
  



将上述代码保存,名称为autoRefresh.jsp。在该文件中,createXMLHttpRequest()函数用于创建异步调用对象;sendRequest()函数用于发送请求到客户端;processResponse()函数用于处理服务器端的响应,在处理过程中调用DisplayHot()函数设定数据的显示样式。其中,setTimeout(“sendRequest()”,1000)函数的含义为每隔1秒的时间调用sendRequest()函数,该函数在Ajax页面刷新中起了一个主导作用。DisplayHot()函数主要用于从服务器端返回的XML文件进行解析,并获取返回数据,显示在当前页面。

例2

下是包含页面,包含后台的第一个页面中ajax.asp:

 代码如下 <script type="text/javascript">

</script>

然后我们做一个订单查询页面,比较简单,都会做

新订单查询页面:

 代码如下



订单查询页面



<%
 sqlstr = "select count(*) as ccc from yxb_order where OrderStatus=1"
 set rs = conn.execute(sqlstr)
 if not rs.bof or not rs.eof then
  response.write ""
 end if
 rs.close
 set rs = nothing
%>


 
例3,上面都是原生态的ajax,下面介绍一个jquery实现方法

 代码如下


jquery ajax我们使用load即可

 代码如下

$("#ajaxlogin").load("ajaxlogin.php?cityid=1208");

这样加载成功就会把内容给ajaxlogin了哦,比起上面两种jquery ajax方便简洁多了哦。

【ajax局部刷新div】Ajax实现页面局部刷新示例代码小结

http://m.bbyears.com/wangyetexiao/46041.html

推荐访问:
相关阅读 猜你喜欢
本类排行 本类最新