PHP程序员站--PHP编程开发平台
 当前位置:主页 >> 网页制作 >> Ajax >> 

ajax入门简明教程---XMLHTTPRequest对象

ajax入门简明教程---XMLHTTPRequest对象

来源:互联网  作者:  发布时间:2008-05-30
当前ajax技术作为web2.0的技术主体,已经是非常流行了。现在的

   当前ajax技术作为web2.0的技术主体,已经是非常流行了。现在的很多网站都已做ajax为时尚,因为它的页面响应速度快,用户体验高啊,每次转换页面几乎就是不刷新。那么是什么东西使这ajax的响应这么快呢?是XMLHTTPRequest对象。XMLHTTPRequest对象是ajax技术的核心,没有XMLHTTPRequest对象就相当于没有ajax,它是最重要的一个对象。下面我们来介绍一下这个东西。

     XMLHTTPRequest是XMLHTTP组件的对象,通过XMLHTTPRequest可以像桌面应用程序一样只同服务器进行数据层面的信息交换,而不用刷新页面,也不用将数据处理的一大堆事情交给服务器去做,客户端或是浏览器能做的就帮服务器分担一点,这样多好啊。用户体验高了,服务器负担还减轻了不少。

    XMLHTTPRequest的应用:
    var xmlhttp = new XMLHTTPRequest(); 用new关键字创建XMLHTTPRequest的对象
    在微软的IE浏览器里XMLHTTP组件有区别
    var xmlhttp = new ActiveXObject(Microsoft.XMLHTTP);
    var xmlhttp = new ActiveXObject(Msxml2.XMLHTTP);
    微软用Active X来支持XMLHttp组件
    列举一个跨浏览器的例子:

以下为引用的内容:
<script language=”javascript”>
  var XHR;
  //创建XMLHTTPRequest对象
  function creatXMLHTTPRequest() {
  if (window. XMLHTTPRequest) { //firefox浏览器


  XHR = new XMLHTTPRequest();
  }
  ese if (window.ActiveObject) { //IE浏览器
  try {
  XHR = new ActiveXObject(“Msxml2.XMLHTTP”);
  } catch (e){
  try {
XHR = new ActiveXObject(“Microsoft.XMLHTTP”);
} catch (e) {}
}}}
</script>
  XMLHTTPRequest 是个对象,学过一些面向对象编程的同学能知道,每个对象里有属性和方法。Javascript也是面向对象的语言,这里面的对象同样有着它的属性和方法。
  我们先来看看它的属性

 

属性 作用
onreadystatechange 这是个事件,在状态改变时触发
readyState

对象状态 把一个HTTP请求发送到服务器时将经历若干种状态:一直等待直到请求被处理;然后,它才接收一个响应。这样以来,脚本才正确响应各种状态-XMLHttpRequest对象暴露一个描述对象的当前状态的readyState属性。
0 未初始化
1 读取中
2 已读取中
3 交互中
4 完成
注:readystate在ie里可以全部小写。

但在firefox里必须用readyState 既那个S得用大写,

所以用时得注意用: readyState

 

ResponseText   这个responseText属性包含客户端接收到的HTTP响应的文本内容,表示为一个字符串。当readyState值为0、1或2时,responseText包 含一个空字符串。当readyState值为3(正在接收)时,响应中包含客户端还未完成的响应信息。当readyState为4(已加载)时,该 responseText包含完整的响应信息。
ResponseXML 这个跟上一个很像,它返回一个兼容DOM的XML文档对象。
status 返回http协议的状态码,如404是URL错误200交互成功。
statusText 服务器返回的状态文本信息。

再来看看XMLHTTPRequest对象的方法

方法 作用

abort()

用它来停止当前请求

open(“方法名”,”URL”)

方法名是指,请求的方法get或者是post
这个方法可以理解为准备一个请求。

send(content)

仅当readyState值为1时,你才可以调用send()方法;否则的话,XMLHttpRequest对象将引发一个异常。

setRequestHeader()

该setRequestHeader(DOMString header,DOMString value)方法用来设置请求的头部信息。当readyState值为1时,你可以在调用open()方法后调用这个方法;否则,你将得到一个异常。

getResponseHeader()

getResponseHeader(DOMString header,value)方法用于检索响应的头部值。

getAllResponseHeaders()

把HTTP请求的所有响应首部作为键/值对

      不过现在很多框架像是dwr。都已经尽力的简化XMLHTTPRequest对象的操作,也就是说现在开发ajax时候,大部分已经不需要自己写XMLHTTPRequest,而是一些框架帮着你做了。不过要想学好一门技术从基础学起也是很必要的。
Tags: XMLHTTPRequest   ajax   对象   教程   入门   XMLHTTPRequest   方法   响应   xml   pr   xmlhttp   HTTP  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号