页面定时自动刷新(JSP)
我有个页面,主要是显示后台数据,当后台数据有更新时,能够显示最新数据,需要定时刷新页面,如何写代码?
------解决方案--------------------setTimeout(method, t)
setInterval()
上面写的是js的方法,就是定时调用你的程序或者通过xmlrequesthttp调用后台数据显示。
------解决方案-------------------- <script language= "javascript ">
setTimeout( "window.location=当前页面的链接 ",5000);
</script>
5000是毫秒,也就是5秒,如果你的表单是那种分页的提交到自己的表单,还可以把参数改为xxxForm.submit()
------解决方案-------------------- <meta> 也可以实现
------解决方案--------------------http://treetree42.blogchina.com/viewdiary.15407322.html
两种自动跳转的方法
------解决方案--------------------用AJAX就可以了。
<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 ";//处理ajax请求的jsp文件
XMLHttpReq.open( "GET ", url, true);
XMLHttpReq.onreadystatechange = processResponse;//指定响应函数
XMLHttpReq.send(null); // 发送请求
}
// 处理返回信息函数
function processResponse() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
setTimeout( "sendRequest() ", 1000);
} else { //页面不正常
window.alert( "您所请求的页面有异常。 ");
}
}
}
</script>
<body onload =sendRequest()>
</body>
------解决方案--------------------superlanneret 的方法是最好的了,用 ajax异步刷新,怎么还不行吗?
------解决方案--------------------最好把sendRequest() 方法放到TIMEOUT函数里.这样就满足问题的要求了...
------解决方案--------------------mark!
------解决方案--------------------up
------解决方案--------------------ajax技术适合,建议看看prototype.js的Ajax.PeriodicalUpdater类
------解决方案-------------------- <%response.setHeader( "Refresh ", "5 ");%> 时间为秒~