首页  ·  知识 ·  云计算
Ajax实现不刷屏的前提下实现页面定时刷新
yan2007    综合  编辑:dezai   图片来源:网络
Ajax实现不刷屏的前提下实现页面定时刷新
主页面(要求刷新的页面)要求每一分钟刷新一次系统时间

<html>

<body onload="makeRequest("getSystemTime.jsp")"> //创建httpRequest对象

<form name="dateForm">

<table>

<td colspan="2" align="center">
<div id="sysTimeShow"></div> //显示平台系统时间
</td>
< /table></form>

</body>

</html>

getSystemTime.jsp //获得系统的当前时间,也就是输出结果的页面

<%@ page language="java" %>
< %@ page contentType="text/html;charset=GB2312" %>
< %@ page import="java.util.Date"%>
< %@ page import="java.sql.Timestamp"%>
< %@ page import="java.io.IOException"%>

<%
Date d = new Date();
Timestamp ts = new Timestamp(d.getTime());
String result = ts.toString().substring(0,16);
out.write(result,0,result.length());
%>


Ajax.js

function makeRequest(url) {
http_request = false;
if (window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType){
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) {
try{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
}
}
}
if (!http_request) {
alert("您的浏览器不支持当前操作,请使用 IE 5.0 以上版本!");
return false;
}
 

//定义页面调用的方法init,不是init();没有();
http_request.onreadystatechange = init;
http_request.open('GET', url, true);

//禁止IE缓存
http_request.setRequestHeader("If-Modified-Since","0");

//发送数据
http_request.send(null);

//每60秒刷新一次页面
setTimeout("makeRequest('"+url+"')", 60000);
}

function init() {
if (http_request.readyState == 4) {
if (http_request.status == 0 || http_request.status == 200) {
var result = http_request.responseText;
if(result==""){
result = "系统时间获取失败";
}
document.getElementById ("sysTimeShow").innerHTML="平台系统时间:"+result;
} else {//http_request.status != 200
alert("请求失败!");
}
}
}

本文作者:yan2007 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读