日历

« 2008-11-22  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

我的栏目

RSS订阅

乱世狂闪的改造日记!

【原创】Hello World For Ajax!(1)

2007-01-25 10:19:21 / 天气: 冷 / 心情: 平静 / 个人分类:学习

以前学过Ajax,写过两篇Ajax的心得,如下:

由于我也是一个Ajax初学者,所以,这篇文章不算教程,只能算是个人经验总结。

运行环境:Winxp SP2+IIS5.1+IE7 Beta3

使用DW先建一个空白Html文件:1.html。

然后插入这段JS代码:
<scrīpt language="javascrīpt" type="text/javascrīpt">
var xmlHttp = false;
try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e2) {
    xmlHttp = false;
  }
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}
</scrīpt>

XMLHttpRequest对象初始化。
为了使你的页面能在各个浏览器下面正常运行,这些代码都是必须的。 

后面再来两个自定函数:
function getSalesData() {
  xmlHttp.open("GET", "read.asp", true);
  xmlHttp.onreadystatechange = updatePage;
  xmlHttp.send(null);
}


//open:XMLHttpRequest对象的方法之一,设置请求的方法,目标URL,及参数。
//onreadystatechange:状态改变的事件触发器。
//send:发送请求

function updatePage() {
  if (xmlHttp.readyState == 4) {
    var response = xmlHttp.responseText;
    alert(response);
  }
}
//readyState:服务器返回的状态,有5种结果,分别是:
//0:请求未初始化(还没有调用 open())。
//1:请求已经建立,但是还没有发送(还没有调用 send())。
//2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。
//3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。
//4:响应已完成;您可以获取并使用服务器的响应了。
//responseText:服务器返回文本。

然后,再加一个按钮
<input type="button" ōnclick="getSalesData()" value=" Go ">

最后,是read.asp
<%
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"
'不要缓存
%>
Hello World!

保存好这两个文件,放在同一目录下,就可以运行1.html。

如果要支持将"Hello World!"换成中文,还得注意,read.asp要保存成Unicode(UTF-8)编码。

至此,Hello World!算是OK了!


TAG: 学习 Ajax

手指凉冰冰的设计空间 删除 手指凉冰冰 发布于2007-03-20 13:04:03
xmlHttp.readyState == 4 以前一直不知道这句是什么意思,现在终于明白了~讲的真详细!
我来说两句

-5 -3 -1 - +1 +3 +5

Open Toolbar