精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站开发>ajax教程>正文

揭开AJAX神秘面纱


来源: 时间:06-11-28 点击: 点击这里收藏本文


            function showGift() {
                if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
                    document.getElementById("output").innerHTML = "Time is for " + xmlHttp.responseText + ".";
                }
            }
        < /script>
    </head>
    <body o­nload="getGiftFromServer()">

        <h1>AJAX例子</h1>

        <div id="output"></div>
    </body>
</html>

加载页面时,将调用JavaScript的getGiftFromServer()函数,此函数完成了上面所提的应用AJAX的流程中第1至第4步,同时设定了一个每隔十秒自动调用此函数的定时器。而showGift()函数完成所提流程中的第5至第7步。下面详细说明每一步骤。

1、定义事件处理器,此处理器将在服务器端返回数据时自动被触发执行。
    function showGift() {
        if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
            document.getElementById("output").innerHTML = "Time is for " + xmlHttp.responseText + ".";
        }
    }


因为我们这里使用异步,readyState属性用来判断服务器返回信息的状态。其值是一个从0至4的整数,对应于:

    0:对象已创建,但未初始化(未调用open()方法)
    1:对象已创建,但未调用send()方法
    2:已调用send()方法,但status及headers还未可用
    3:已经传回部分数据,但status及headers还未完全可用
    4:已经收到所有数据,可使用所有数据


2、获取XMLHTTPRequest,并将事件处理器注册给它

注意:要使用XMLHTTPRequest,需要IE5.0以上的版本。

2.1 取得XMLHTTPRequest

在IE7.0之前获得XMLHTTPRequest,使用如下代码:

    if (window.ActiveXObject) {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }


而在IE7.0中:

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


2.2 注册事件处理器

xmlHttp.onreadystatechange = showGift;


showGift为传入的方法名,每当XMLHTTPRequest的状态发生改变时,将执行此方法

3. 与服务器连接并发送

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


其方法签名如下:

    
xmlHttp.open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword)


其中:
    bstrMethod: 连接方式,可用的有GET, POST, PUT, or PROPFIND
9 7 3 1 2 3 4 8 :

  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

关于我们 | 联系我们 | 友情链接 | 网站地图
Copyright © 2005 - 2006 建站学 All rights reserved.