AJax技术

Ajax的常用技巧(3)

字号+ 作者:H5之家 来源:H5之家 2015-11-14 08:45 我要评论( )

网页自动刷新功能在web网站上已经屡见不鲜了,如即时新闻信息,股票信息等,都需要不断获取最新信息。在传统的web实现方式中,想要实现类似的效果,必须进行整个

> Web开发 > 其他 > 正文 Ajax的常用技巧(3)---实现自动刷新页面. 2012-09-05            作者:pzhtpf    我要投稿

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

该实例服务器端代码的功能比较简单,即产生一个随机数,并以XML文件形式返回给客户端。打开记事本,输入下列代码:
[plain]
<%@ page contentType="text/html; charset=gb2312" %> 
<% 
response.setContentType("text/xml; charset=UTF-8");//设置输出信息的格式及字符集 
response.setHeader("Cache-Control","no-cache"); 
out.println("<response>");  
for(int i=0;i<2;i++){ 
    out.println("<name>"+(int)(Math.random()*10)+"</name>"); 
    out.println("<count>" +(int)(Math.random()*100)+ "</count>"); 

out.println("</response>"); 
out.close(); 
%>  

 

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

本实例客户端代码主要利用服务器端返回的数字,指定显示样式。打开记事本,输入下列代码:
[plain] 
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> 
<head> 
<META http-equiv=Content-Type content="text/html; charset=gb2312"> 
</head> 
<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>  
<body onload =sendRequest()> 
<table style="BORDER-COLLAPSE: collapse" borderColor=#5555555 cellSpacing=0 cellPadding=0 width=200     border=0> 
 
<TR> 
   <TD align=middle bgColor=#abc2d0 height=19 colspan="2"><B>开往北京的列车</B> </TD> 
</TR> 
<tr> 
   <td height="20"> 车号:</td> 
   <td height="20" id="cheh"> </td> 
</tr> 
<tr> 
   <td height="20"> 价格:</td> 
   <td height="20" id="price"> </td> 
</tr> 
</table>  
</body>  

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JQuery实现Ajax加载图片的方法

    JQuery实现Ajax加载图片的方法

    2016-02-24 17:01

  • 判断用户是不是为ajax请求

    判断用户是不是为ajax请求

    2016-02-24 17:00

  • Ajax与WEB开发 by alixixi.com

    Ajax与WEB开发 by alixixi.com

    2016-02-11 11:02

  • jQuery.ajax()的相关参数及使用

    jQuery.ajax()的相关参数及使用

    2016-02-08 16:00

网友点评