zoukankan      html  css  js  c++  java
  • Ajax局部页面刷新

    ajax自动刷新局部页面

     

         通过 AJAX,JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象, JavaScript 可在不重载页面的情况与 Web 服务器交换数据。

         AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。

         实验中利用JSP+ajax来实现自动刷新页面,并读/写数据库中的数据。

        下面介绍一下利用JSP+ajax来实现局部页面刷新的小例子:

    处理ajax请求的jsp文件:ajax.jsp

    复制代码
        <%@ 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();  
        %>   
    复制代码

    发送ajax请求的jsp文件:zx.jsp

    复制代码
        <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 = "ajax.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("product").innerHTML = name;      
                document.getElementById("count").innerHTML = count;   
            }  
          
          
        </script>  
          
        <body onload =sendRequest()>  
        <table style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 cellPadding=0 width=200    bgColor=#f5efe7 border=0>  
          
        <TR>  
           <TD align=middle bgColor=#dbc2b0 height=19 colspan="2"><B>无线传感网</B> </TD>  
        </TR>  
        <tr>  
           <td height="20"> 传感器:</td>  
           <td height="20" id="product"> </td>  
        </tr>  
        <tr>  
           <td height="20">传感器个数:</td>  
           <td height="20" id="count"> </td>  
        </tr>  
        </body>  
        </table>   
    复制代码

      效果如下(页面上的值自动变化):

     

  • 相关阅读:
    UOJ #455 [UER #8]雪灾与外卖 (贪心、模拟费用流)
    Codeforces 482E ELCA (LCT)
    Codeforces 798D Mike and distribution (构造)
    AtCoder AGC017C Snuke and Spells
    HDU 6089 Rikka with Terrorist (线段树)
    HDU 6136 Death Podracing (堆)
    AtCoder AGC032D Rotation Sort (DP)
    jenkins+python+kubectl实现批量更新k8s镜像
    Linux 下载最新kubectl版本的命令:
    jenkins X 和k8s CI/CD
  • 原文地址:https://www.cnblogs.com/qq809306794/p/4038837.html
Copyright © 2011-2022 走看看