使用ajax局部更新一块区域的数据,每隔3秒更新一次
以下代码以运行成功,如果问题请与我联系。
index.jsp页面:
<script type="text/javascript">
var xmlHttp;function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
function refreshDate(){
createXMLHttpRequest();
xmlHttp.open("GET","ManageEventServlet?action=msgalarm",true);
xmlHttp.onreadystatechange=dowork;
//禁止ie缓存
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.send(null);
//每3秒读取数据
setTimeout("refreshDate()", 3000);
}
function dowork(){
if(xmlHttp.readyState == 4){
//获得servlet中传递过来的数据放到要现实的区域中
var tag = document.getElementById("container");
tag.innerHTML = "";
tag.innerHTML = xmlHttp.responseText;
}
</script>
<div id="container"><!--要更新的区域-->
<table>
<tr><td>user</td><td>pwd</td></tr>
</table>
</div>
ManageEventServlet.java中:
String action=request.getParameter("action");
if("msgalarm".equals(action)){
user=从数据库中取得的用户
String name=user.getName();
String pwd=user.getPwd();
PrintWriter out = response.getWriter();
out.print("<table>");
out.print("<tr>");
out.print("<td>"+name+"</td>");
out.print("<td>"+pwd+"</td>");
out.print("<tr>");
out.print("</table>");
}