关闭

XMLHttpRequest对象概述

801人阅读 评论(0) 收藏 举报

XMLHttpRequest对象概述

        如今的互联网正如火如荼地走向web2.0,它已不知不觉中蔓延到互联网各个角落。这一切正是由于ajax技术的出现,使得web应用程序的用户体验得到了很大的改善。ajax与其说是一种技术,不如说是一种技巧,但是如果没有XMLHttpRequest的广泛支持,可能就不会有web2.0的出现。
        XMLHttpRequest最早是在IE5中以ActiveX组件的形式实现的,至今,在Mozilla和Safari1.2中已把它采用为事实上的标 准,使得XMLHttpRequest得到广泛的支持。在使用XMLHttpRequest对象发送请求和处理响应之前,必须先用javascript创 建一个XMLHttpRequest兑现个,由于XMLHttpRequest不是一个W3C表转,所以要采用多种方法来创建 XMLHttpRequest的实例。代码如下:
        var xmlhttp;
        function createXMLHttpRequest(){
           if (window.ActiveXObject)
              xmlhttp =  new ActiveXObject("Microsoft.XMLHTTP");
           else if(window.XMLHttpRequest)
              xmlhttp = new XMLHttpRequest();
        }
从上面代码可以看出,在IE中把XMLHttpRequest实现为一个ActiveX对象,其它浏览器把它作为一个本地JavaScript对象。
        创建了XMLHttpRequest对象后就可以使用它的方法和属性进行操作。以下列出了标准XMLHttpRequest操作:
        (1)void open(string method, string url, boolean asynch, string username, string password)
             作用:建立对服务器的调用
             参数说明:它有两个必要的参数,method是提供调用的特定方法(GET, POST或PUT),URL是提供所调用资源的URL。其它的三个为可选参数,asynch是指示这个调用是异步的还是同步的,默认为true, 表示请求为异步的,处理请求时不用等待直到从服务器返回响应为止。
        (2)void send(content)
             作用:向服务器发送请求,如果请求声明为异步的,这个方法就立即返回,否则它会等待直到接收到响应为止。
             参数说明:参数可以是DOM对象实例、输入流,或者串。传入的这个方法的内容会做为请求体的一部分发送。
        (3)void setRequestHeader(string header, string value)
            作用:为HTTP请求一个给定的header设定值
        (4)void abort( )
             作用:停止请求
        (5)string getAllResponseHeaders( )
             作用:返回HTTP请求的所有相应的header
        (6)string getResponseHeader(string header)
             作用:返回指定的HTTP请求的相应的header
         除了以上标准方法,XMLHttpRequest对象还提供了许多属性,以下列出了在处理XMLHttpRequest时可以使用的属性:
         (1)onreadystatechange
              每个状态改变时都会出发这个事件处理器,通常会调用一个JavaScript函数
         (2)readyState
              请求的状态。有5个可取值:0=未初始化,1=正在加载, 2=已加载,3=交互中,4=完成
         (3)responseText
              服务器的响应,表示一个串
         (4)responseXML
              服务器的响应,表示为XML,这个对象可以解析为一个DOM对象
         (5)status
             服务器的HTTP状态码(200对应OK,404对应Not Found,等等)
         (6)statusText
             HTTP状态码的相应文本(OK或Not Found等等)
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:401269次
    • 积分:5267
    • 等级:
    • 排名:第5177名
    • 原创:104篇
    • 转载:91篇
    • 译文:2篇
    • 评论:164条
    最新评论
    【平面设计】
    §SOA服务与技术
    ★优秀的Wiki社区★