这几天一直折腾asp,要求实现一个后台添加程序后,前台要提示的功能。所以就用asp+ajax写了一个定时器,从服务器获取信息,定时显示页面上。
本程序是从index.asp定时调用server.asp的数据,首先在index.asp页面上定义了一个ajax程序,并且在ajax程序中添加了定时器的代码利用了一个setTimeout("method()",times) 这个方法,细心的同学应该都能看出这是个递归调用。
ok,废话不多说,看代码吧!
前台程序代码
index.asp
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>兼容多浏览器的AJAX入门实例(超详细注释)</title>
<script type="text/javascript">
<!--
var xmlHttp
/*建立XMLHTTP对象调用MS的ActiveXObject方法,如果成功(IE浏览器)则使用MS ActiveX实例化创建一个XMLHTTP对象*/
//非IE则转用建立一个本地Javascript对象的XMLHttp对象 (此方法确保不同浏览器下对AJAX的支持)
function createXMLHttp(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
var a = 1;
//建立主过程
function startXMLHttp(){
createXMLHttp(); //建立xmlHttp 对象
xmlHttp.open("get","server.asp",true); //建立一个新的http请求,传送方式 读取的页面 异步与否(如果为真则自动调用dodo函数)
xmlHttp.send(); //发送
xmlHttp.onreadystatechange =doaction; //xmlHttp下的onreadystatechange方法 控制传送过程
setTimeout("startXMLHttp()",1000); // 定时调用
document.getElementById("t").innerHTML="这是第"+ a +"次刷新!";
a++;
}
function doaction(){
if(xmlHttp.readystate==4){ // xmlHttp下的readystate方法 4表示传送完毕
if(xmlHttp.status==200){ // xmlHttp的status方法读取状态(服务器HTTP状态码) 200对应OK 404对应Not Found(未找到)等
document.getElementById("content").innerHTML=xmlHttp.responseText //xmlHttp的responseText方法 得到读取页数据
}
}
}
window.onload = function(){
startXMLHttp();
}
-->
</script>
</head>
<body >
<span id="content"><!--读取后用来显示的区域--></span><br>
<input type="button" onclick="javascript:startXMLHttp()" value="查询"/>
<div id="t"> data </div>
</body>
</html>
服务后台处理程序,这里用了一个简单的table显示来替代
server.asp
<table width="100%" border="1">
<tr>
<td>AJAX处理结果。</td>
</tr>
</table>
<%
'-------------------------------------------
'//禁止缓存该页 让AJAX读取该页始终为最新而非过期缓存页
Response.Expires = 0
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
'-------------------------------------------
'Response.Charset="GB2312" ' 数据返回的编码类型 显示中文数据必须
'-------------------------------------------
Response.Write(now()) ' 得到当前时间
'在这里还可以进行一大堆数据库操作。
%>
分享到:
相关推荐
asp.net 2.0-实现数据访问(1) ASP.NET 2.0 新特性 .NET 2.0里使用强类型数据创建多层应用 在MastPage中引用脚本资源 2.0正式版中callback的一些变化+使用示例(ASP.NET 2.0) asp.net 2.0 新特性 Visual Web ...
ASP.NET的服务器推技术方案一真都很少见应用实例,根据网络上资料的整理开发了一个DLL,可以很方便在应用推技术。 1.取代传统的AJAX方式将得到更好的用户体验,页面仍然无刷新; 2.不再定时不断请求Http请求,降低...
此外,《ASP.NET 4高级程序设计(第4版)》专门提供了两章的内容来教你如何用Ajax 技术制作快速响应的页面,以及如何使用微软的ASP.NETAJAX平台。另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。 ...
此外,《ASP.NET 4高级程序设计(第4版)》专门提供了两章的内容来教你如何用Ajax 技术制作快速响应的页面,以及如何使用微软的ASP.NETAJAX平台。另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。 ...
再比如ASP.Net内置的AJAX解决方案UpdatePanel只在部分要求不高的内网项目中才被使用,因此我们在讲解UpdatePanel的使用和原理之外,把更多的时间放在讲解企业中用的最多的JQuery AJAX解决方案上。 6、B/S系统项目(7...
ExtAspNet - ExtJS based ASP.NET Controls with Full AJAX Support ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有ViewState,没有JavaScript,没有CSS,没有...
-添加定时器控件Timer,用来定时发起AJAX请求。 +2009-09-06 v2.1.0 -Button的Pressed属性值能够正确的反映客户端的变化。 -优化Tree控件的AJAX实现。 +为页面的Form添加autocomplete="off"属性。 -参考...
ajaxinc: AJAX应用类(以ajax_命名的四个文件)、附件上传(upload_5xsoft.inc|asoft_upload.asp)和EXCEL导出文件(toexcel.asp)、顶部banner(top.asp)、验证码生成文件(CodeGen.asp、VerifyCode.asp),数据库连接...
<br>7、后台使用异步定时刷新处理(指刷新状态,而不是界面刷新,界面完全不会感到刷新),保证进行长时间操作时,不会掉线 <br>8、后台输入界面自动生成,表单数据自动入库,用户可自定义栏目内容管理形式,...
* 类似AJAX的无刷新上传; * 可以显示上传进度; * 良好的浏览器兼容性; * 兼容其他JavaScript库 (例如:jQuery, Prototype等); * 支持Flash 8和Flash 9; SWFUpload不同于其他基于Flash构建的上传...