jsp+ajax自动刷新局部页面
2015-11-19 16:10
253 查看
转载自:http://www.cnblogs.com/zhxiang/archive/2013/05/09/3068579.html
通过 AJAX,JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象, JavaScript 可在不重载页面的情况与 Web 服务器交换数据。
AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。
实验中利用JSP+ajax来实现自动刷新页面,并读/写数据库中的数据。
下面介绍一下利用JSP+ajax来实现局部页面刷新的小例子:
处理ajax请求的jsp文件:ajax.jsp
发送ajax请求的jsp文件:zx.jsp
效果如下(页面上的值自动变化):
![](http://images.cnitblog.com/blog/315788/201305/09111421-1ad59d834b0f4f73b9aeffac78d62a2b.png)
通过 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>
效果如下(页面上的值自动变化):
![](http://images.cnitblog.com/blog/315788/201305/09111421-1ad59d834b0f4f73b9aeffac78d62a2b.png)
![](http://images.cnitblog.com/blog/315788/201305/09111429-d02e2fc7bcb84745bdaa3db1599a29bc.png)
相关文章推荐
- jsp ajax实例讲解
- js替换字符串中全部“-”
- JS 设置下拉列表的值(设置选中项)
- 监视在input框中按下回车(enter) js实现
- JS 原生方法封装
- js正确截取单字节和双字节混和字符串的方法
- Asp.net mvc怎么在razor里写js代码
- js中!判断的意义
- json2 (json对象转换, 解决中文乱码问题)
- 【javascript】理解闭包(Closure)
- JS中setInterval、setTimeout不能传递带参数的函数的解决方法
- 【学习笔记】JS基于原型的面向对象
- js中与Java代码及ajax的执行顺序问题
- jsp中将后台传递过来的json格式的list数据绑定到下拉菜单select
- JavaScript 原型
- 高效率去掉js数组中重复项
- 个人整理的web开发中常用的表单验证的正则表达式JS
- JS实现在文本框输入时自动弹出相关内容提示
- JS实现的全选/全不选功能按钮
- 很好的jsp+servlet+javaBean实现数据分页代码例子