0
点赞
收藏
分享

微信扫一扫

AJAX-与setTimeout()结合

萧萧雨潇潇 2022-06-09 阅读 76

通过ajax与定时器相结合,实现页面动态数据更新,常使用于提示信息。

需要注意的是,下面代码示例是从JSP页面摘出来的,直接拷贝不能使用,需要修改哦。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'testAAJAx.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">

window.onload = function(){
//页面加载即执行函数
saveUserInfo();
}

function saveUserInfo()
{
//获取接受返回信息层
var countdown = document.getElementById("countdown");

//接收表单的URL地址
var url=document.getElementsByTagName("a")[0].href;

var ajax = false;

//开始初始化XMLHttpRequest对象
//除IE5 IE6 以外的浏览器XMLHttpRequest是window的子对象
if(window.XMLHttpRequest)
{ //Mozilla 浏览器
ajax = new XMLHttpRequest();
if (ajax.overrideMimeType)
{ //设置MiME类别
ajax.overrideMimeType("text/xml");
}
}
//IE5 IE6是以ActiveXObject的方式引入XMLHttpRequest的
else if (window.ActiveXObject)
{ // 新版本IE浏览器
try
{
ajax = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{ //兼容老版本浏览器
try
{
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
alert(e.message);
}
}
}
if (!ajax)
{ // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}

//通过GET方式打开连接
ajax.open("GET", url, true);

//定义传输的文件HTTP头信息 ,POST方式下使用
//ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

//发送POST数据
ajax.send(null);

//获取执行状态
ajax.onreadystatechange = function(){
//如果执行状态成功,那么就把返回信息写到指定的层里
if (ajax.readyState == 4 && ajax.status == 200)
{
countdown.innerHTML += ajax.responseText+"<br/><br/>";
}
}

/* 等待五秒后再次请求数据 */
window.setTimeout("saveUserInfo()", 5000);
}
</script>
</head>

<body>
<a href="helloajax.txt">helloajax.txt</a>
<div id="countdown"></div>

</body>
</html>

其实核心思想是下面代码:

function test(){
window.setTimeout("test()", 5000);
}


举报

相关推荐

0 条评论