XMLHttpRequest对象

1.XMLHttpRequset对象创建

  Internet Explorer把XMLHttpRequest实现为一个ActiveX对象,其他浏览器(如Firefox、Safari和Opera)把它实现为一个本地Javascript对象。由于存在这些差异,Javascript代码中必须包含有关的逻辑,从而使用ActiveX技术或者使用本地Javascript对象技术来创建XMLHttpRequest的一个实例。

var xmlHttp;

function createXMLHttpRequest()
{
   if(window.ActiveXObject) //判断是不是IE浏览器
   {
   xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");//为ActiveXObject构造函数传递一个Microsoft.XMLHTTP字符串说明要创建一个XMLHttpRequset对象

}
   else if(window.XMLHttpRequest) 
{
xmlHttp
=new XMLHttpRequest;
}
}

2.XMLHttpRequset对象的使用

    1.为得到XMLHttpRequset对象实例的一个引用,可以创建一个新的实例,也可以访问包含有XMLHttpRequset实例的一个变量。

    2.告诉XMLHttpRequset对象,哪个函数会处理XMLHttpRequset对象状态的改变,为此要把对象的onreadystatechange属性设置为指向javascript函数的指针。

    3.指定请求的属性。XMLHttpRequset对象的open()方法会指定将要发出的请求。open()方法取3个参数:一个指示所用方法(通常是GET或POST)的串;一个是表示目标资源URL的串;一个是Boolean值,指示请求是否是异步的。

    4.将请求发送给服务器。XMLHttpRequset对象的Send()方法把请求发送到指定的目标资源。send()方法接受一个参数,通常是一个串或是一个DOM对象。这个参数作为请求体的一部分发送到目标URL。当向Send()方法提供参数时,要确保open()中指定的方法时POST。如果没有数据作为请求体的一部分被发送,则使用null。

3.XMLHttpRequset实例

  

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>简单的Ajax XMLHttpRequset对象使用</title>
    <script type="text/javascript">
        var xmlHttp;
        function createXMLHttpRequest() {
            if (window.ActiveXObject) {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTp");
            }
            else if (window.XMLHttpRequest) {
                xmlHttp = new XMLHttpRequest();
            }
        }
        function startRequest() {
            createXMLHttpRequest();
            xmlHttp.onreadystatechange = handleStateChange;
            xmlHttp.open("GET", "SimpleRespnse.xml", true);
            xmlHttp.send(null);

        }
        function handleStateChange() {
            if (xmlHttp.readyState == 4) {
                if (xmlHttp.status == 200) {
                    alert("The server replied with:" + xmlHttp.responseText);
                }
            }
        }
    </script>
</head>
<body>
    <form accept="#">
    <input type="button" value="开始异步请求" onclick="startRequest();" />
    </form>
</body>
</html>

SimpleRespnse.xml内容如下:

<?xml version="1.0" encoding="utf-8" ?>
<PIS>
  Welcome to Ajax
</PIS>

运行结果截图:

posted on 2012-10-07 15:54  lufangtao  阅读(356)  评论(0编辑  收藏  举报

导航