XMLHttpRequest对象方法和属性及实现AJAX标准示例

以下列出XMLHttpRequest对象方法和属性,红色标记为最有可能用到的

相关方法:

abort()                                              停止当前请求

getAllResponseHeaders()                   HTTP请求的所有响应首部作为键/值对返回

getResponseHeader("header")          返回指定首部的串值

open("method", "url")                       建立对服务器的调用。

send(content)                                   向服务器发送请求

setRequestHeader("header", "value")      把指定首部设置为所提供的值。在设置任何首部之前必须先调用open()

相关属性:

onreadystatechange   状态改变时都会触发这个事件处理器,通常调用一个JavaScript函数

readyState                  请求的状态0 = 未初始化,1 = 正在加载,2 = 已加载,3 = 交互中,4 = 完成

responseText              服务器的响应,表示为一个串

responseXML               服务器的响应,表示为XML。这个对象可以解析为一个DOM对象

status                          服务器的HTTP状态码(200对应OK404对应Not Found(未找到),

statusText                   HTTP状态码的相应文本(OKNot Found(未找到)等等)

一个标准的 XMLHttpRequest对象实现ajax的步骤

<script type="text/javascript">
     var xmlHttp;

        //函数一:创建XMLHttpRequest对象

        function createXMLHttpRequest() {

        //IE不同版本

            if (window.ActiveXObject) {

                try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); }

                catch (e) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}            

            }

        //IE

            else if (window.XMLHttpRequest) {

                xmlHttp = new XMLHttpRequest();

            }

        }
              //
函数二:将被调用的函数

        function startRequest () {

            createXMLHttpRequest();

            var url = "XXX.ashx?"+new Date().getTime();

            xmlHttp.onreadystatechange = handleStateChange;

            xmlHttp.open("GET", url, true);

            xmlHttp.send(null);

        }

        //函数三:状态改变的时候触发的事件函数

        function handleStateChange() {

            if (xmlHttp.readyState == 4) {

                if (xmlHttp.status == 200) {

                    var result = xmlHttp.responseText;

                    document.getElementById("validateMessage").innerText = result;

                }

            }

        }

    </script>

 

posted @ 2009-10-08 17:37  老Z  阅读(306)  评论(0编辑  收藏  举报