Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1966993
  • 博文数量: 606
  • 博客积分: 9991
  • 博客等级: 中将
  • 技术积分: 5725
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 19:07
文章分类

全部博文(606)

文章存档

2011年(10)

2010年(67)

2009年(155)

2008年(386)

分类:

2008-09-26 10:17:51

当前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组件
    列举一个跨浏览器的例子:

  XMLHTTPRequest 是个对象,学过一些面向对象编程的同学能知道,每个对象里有属性和方法。Javascript也是面向对象的语言,这里面的对象同样有着它的属性和方法。
  我们先来看看它的属性
们先来看看它的属性

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

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,而是一些框架帮着你做了。不过要想学好一门技术从基础学起也是很必要的。

再来看看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,而是一些框架帮着你做了。不过要想学好一门技术从基础学起也是很必要的。

 

阅读(498) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~