欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

AJAX引擎-XMLHttpRequest对象

程序员文章站 2022-07-12 18:55:08
...

JavaScript对象,目前大部分浏览器都支持

创建XMLHttpRequest对象
<script type="text/javascript">
  function getXHR(){
     var xmlHttp:
      try{
          //Firefox、Opera 8.0+、Safari
          xmlHttp=new XMLHttpRequest();
      }catch(e){
          //Internet Explorer
          try{
              xmlHttp=new ActiveXObject("Msxmlz.XMLHTTP");
          }catch(e){
                 try{
                        xmlHttp=new ActiveXObject("Micrsoft.XMLHTTP");
                  }catch(e){
                        alert("你的浏览器不支持");
                        return false;
                }
          }
      }
     return xmlHttp;
  }
</script>
属性
  • readState:只读的,返回的是short类型
    作用:标志着XMLHttpRequest对象的当前状态
State Name Description
0 Uninitialized 未初始化
1 Open open方法已经调用了
2 sent send方法已经调用了
3 Receiving 接收到了响应头,但是没有接收到正文
4 Loaded 接收到了响应正文,响应结束
  • responseText:只读的,返回的是String
    作用:接收服务器返回到文本类型的正文数据
  • responseXML:只读的,返回的是Document对象(JS中文档模型)
    作用:接收服务的返回的xml类型的正文数据
  • status:只读的,返回的是short
    作用:接收服务器返回的响应状态码
  • statusText:只读的,返回的是String
    作用:接收服务器返回的响应码描述
方法
  • getAllResponseHeades():返回所有响应消息头,是一个String字符串
  • getResponseHeader(headName):返回指定头的值,是一个String字符串
  • open(String method,String url,boolean async):建立与服务器的链接
    method:请求方式 get/post
    url:请求的服务器地址
    async:是否是异步,true是异步,默认就是true
  • send(String data):发出请求,data参数是请求正文的内容
  • setRequestHeader(String headerName,String value):设置请求消息头
事件处理器

onreadystatechange:指向一个函数,用于做事件处理
XMLHttpRequest对象的readyState的每次变化都会触发onreadystatechange指向的事件处理器

js端、客户端的js代码的执行和onreadystatechange函数的执行是异步的过程