如何使用 XMLHttpRequest 对象与服务器进行通信

在向服务器发送数据之前,我们有必要解释一下 XMLHttpRequest 对象的三个重要的属性。

onreadystatechange 属性

  onreadystatechange 属性存有处理服务器响应的函数。下面的代码定义一个空的函数,可同时对 onreadystatechange 属性进行设置:
  xmlHttp.onreadystatechange=function()
  {
  // 我们需要在这里写一些代码
  }
readyState 属性
  readyState 属性存有服务器响应的状态信息。每当 readyState 改变时,onreadystatechange 函数就会被执行。
  这是 readyState 属性可能的值:
  


0请求未初始化(在调用 open() 之前)
1请求已提出(调用 send() 之前)
2请求已发送(这里通常可以从响应得到内容头部)
3请求处理中(响应中通常有部分数据可用,但是服务器还没有完成响应)
4请求已完成(可以访问服务器响应并使用它)
我们要向这个 onreadystatechange 函数添加一条 If 语句,来测试我们的响应是否已完成(意味着可获得数据):
  xmlHttp.onreadystatechange=function() { if(xmlHttp.readyState==4) { // 从服务器的response获得数据 } }

responseText 属性

  可以通过 responseText 属性来取回由服务器返回的数据。
  在我们的代码中,我们将把时间文本框的值设置为等于 responseText:
  xmlHttp.onreadystatechange=function()
  { if(xmlHttp.readyState==4)
  { document.myForm.time.value=xmlHttp.responseText; }
  }
要想把请求发送到服务器,我们就需要使用 open() 方法和 send() 方法。
  open() 方法需要三个参数。第一个参数定义发送请求所使用的方法(GET 还是 POST)。第二个参数规定服务器端脚本的 URL。第三个参数规定应当对请求进行异步地处理。
  send() 方法可将请求送往服务器。如果我们假设 HTML 文件和 ASP 文件位于相同的目录,那么代码是这样的:
  xmlHttp.open("GET","time.asp",true);
  xmlHttp.send(null);

posted on 2011-08-09 12:55 SkyDream 阅读(336) 评论(0)  编辑  收藏 所属分类: Ajax

<2011年8月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

导航

统计

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜