RSS订阅
PHP程序员站--WWW.PHPERZ.COM  
网站地图
高级搜索
收藏本站
 当前位置:主页 >> 网页制作 >> Ajax >> 文章内容
ajax入门简明教程---XMLHTTPRequest对象
来源:互联网  作者:  发布时间:2008-05-30

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

www.phperz.com

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

    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浏览器 phperz.com
  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也是面向对象的语言,这里面的对象同样有着它的属性和方法。
  我们先来看看它的属性

phperz.com

 

www~phperz~com

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

  www~phperz~com

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

www~phperz~com

再来看看XMLHTTPRequest对象的方法 phperz.com

方法 作用

abort() php程序员站

用它来停止当前请求

php程序员站

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

php程序员站

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

send(content) php程序员站

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

php程序员站

setRequestHeader()

phperz.com

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

getResponseHeader() www.phperz.com

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

www~phperz~com

getAllResponseHeaders()

www.phperz.com

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

phperz~com

phperz.com

      不过现在很多框架像是dwr。都已经尽力的简化XMLHTTPRequest对象的操作,也就是说现在开发ajax时候,大部分已经不需要自己写XMLHTTPRequest,而是一些框架帮着你做了。不过要想学好一门技术从基础学起也是很必要的。
 相关文章
 
发表评论
全部评论(0条)
 站内搜索
 热门搜索 mysql  基础  adodb  url
高级搜索 网站地图 站长工具 IP查询 收藏本站
 热点文章
 随机推荐
网站首页 | 网站地图 | 高级搜索 | RSS订阅
PHP程序员站 Copyright © 2007,PHPERZ.COM All Rights Reserved 粤ICP备07503606号 联系站长