分享

XMLHttpRequest对象的属性和方法

 且看且珍惜 2014-05-05

ajax的不足

 

1. 各个浏览器对XMLHttpRequest对象的支持度不足(兼容性问题)

2. 破坏浏览器的前进,后退功能。

3. 对搜索引擎支持不足。

4. 调试工具支持不足。

 

 

XMLHttpRequest对象的属性和方法

1.readyState属性

状态:0 代表未初始化。

1 代表准备发送。

2 已发送但还没收到响应

3 正在接收

4 接收完成

2.responseText属性

包含客户端接收到的HTTP响应的文本内容。

当readyState=4时,responseText才包含完整的响应信息。

当readyState=3时,responseText包含未完整的响应信息。

当readyState<3时,responseText为空字符串。

 

3.responseXML属性

当readyState=4,并且响应头部的Content-Type的MIME类型为XML(text/xml或application/xml)时,该属性有值并且被解析成一个XML文档。

其它情况为null,包括回传的XML文档不良或未完成响应回传。

 

4.status及statusText属性(描述http状态代码,及代码文本)

当readyState>2,才能访问,否则出现异常。

5.onreadystatechange事件

当readyState属性发生变化时触发此事件,用于触发回调函数。

 

6.open方法

open(method, uri, async, username, password) 用来进行初始化工作

返回值:得到一个包含send()方法的对象

method:必须。用于指定HTTP方法如GET,POST,PUT....。按规定必须大写。

uri:请求发送到服务器相应的URI.自动解析成绝对地址。

async:请求是否异步,默认为true.

调用open后,readystate状态为1.

 

7.send方法

调用open 方法后,可以调用send()方法来发送请求。

当open 中async=true时,send()方法调用后立即返回,否则会中断直到请求返回。

send(data)

data:可选。此处还有疑问。。

 

8.abort()方法

该方法可以暂停一个HttpRequest请求或者HttpResponse的接收,并且将XMLHttpRequest的状态设置为初始化。

 

 

9.setRequestHeader(header,value)方法

该方法用来设置请求的头部信息。在调用open()后调用这个方法。否则将得到一个异常。

10.getResponseHeader()方法

当readystate>2时,该方法用来检索响应的头部信息。否则返回一个空字符串。

getAllResponseHeaders()方法返回所有的HttpResponse头部信息。

 

Java代码  收藏代码
  1. <script type="javascript/text">  
  2. var xmlHttp  
  3. //判断是否IE  
  4. if(window.ActiveXObject){  
  5.   try{  
  6.        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  
  7.    }catch(e){  
  8.    xmlHttp=false;  
  9.    }  
  10. }  
  11. else{  
  12.    try{  
  13.     xmlHttp=new XMLHttpRequest();  
  14. }catch(e){  
  15.     xmlHttp=false;  
  16. }  
  17. }  
  18.   
  19. if(xmlHttp.readyState==4||xmlHttp.readyState==0){  
  20.    xmlHttp.open("GET""test.php?"content="+content,true);  
  21.    //设置回调函数  
  22.    xmlHttp.onreadystatechange=recall();  
  23.    xmlHttp.send(null);  
  24. }  
  25.   
  26. function recall(){  
  27.  if(xmlHttp.readyState==4){  
  28.    if(xmlHttp.status==200){  
  29.     xmlResponse = xmlHttp.responseXML;  
  30.     //xml处理  
  31.     myXml = xmlResponse.documnetElement;  
  32.     content = myXml.firstChild.data;  
  33.     //处理部分  
  34.    }  
  35. }else{  
  36.   alert(xmlHttp.statusText);  
  37. }  
  38. }  
  39.   
  40.   
  41. </script>  
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多