• XMLHttpRequest创建对象


      首先,介绍一下XMLHttpRequest对象,我们都知道Ajax这不是一个简单的技术,但一些技术的融合。XMLHttpRequest这是Ajax中最为核心的技术。假设没有XMLHttpRequest。Ajax的其余技术就无法成为一个有机的总体。在Ajax应用程序中XMLHttpRequest对象负责将用户信息以异步方式发送到server。并接收server返回的响应信息和数据。

      XMLHttpRequest时XMLHttp组件的一个对象,使用XMLHttpRequest能够实现不向server提交整个页面的情况下。局部更新网页信息。

    可能这么说有点抽象吧。大家都常常进QQ空间看好友动态,有些好友分享了视频,我们点击播放之后不管是在视频缓冲期间还是在播放期间鼠标跟键盘都没有丧失活动能力,我们能够继续浏览其它动态。而我们在上下滑动鼠标滚轮的时候。视频页面也尾随我们浏览的当前位置上下移动。例如以下图所看到的,这种功能就能够通过Ajax实现。

     

      XMLHttpRequest对象提供了一系列的属性和方法来向server发送异步HTTP请求。

    在server处理用户请求的过程中。XMLHttpRequest对象通过属性的状态值来实时反映HTTP请求所处的状态并依据得到的状态指导javascript做对应的处理。此外当server顺利响应用户动作并将用户返回时,XMLHttpRequest提供的response系列方法能够将返回的数据组装成文本格式、XML格式或者unsigned byte数据格式提供的javascript脚本处理。

      使用XMLHttpRequest对象发送请求和处理响应之前,必须要使用javascript创建XMLHttpRequest对象。

    因为XMLHttpRequest对象眼下还不是W3C标准,所以在新版本号IE浏览器、旧版本号IE浏览器以及非IE浏览器中的创建方法也不同。因此在创建XMLHttpRequest对象之前须要先推断浏览器的类型。对于版本号较低的IE浏览器须要使用Microsoft.XMLHTTP。而对于版本号较高的IE浏览器需使用Msxml2.XMLHTTP。

      以下是创建XMLHttpRequest对象的代码:

     

    <span style="font-family:KaiTi_GB2312;font-size:18px;">    <script language="javascript" type="text/javascript">
            var xmlHttp;
            //使用新版本号的IE创建XMLHttpRequest对象
            try {
                xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                //使用旧版本号的IE创建XMLHttpRequest对象
                try {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (E) {}
            }
            //使用其它浏览器创建XMLHttpRequest对象
            if (!xmlHttp && typeof XMLHttpRequest !='undefined') {
                try{
                    xmlHttp=new XMLHttpRequest();
                } catch (e) {
                    xmlHttp = false;
                }
            }
        </script></span>

      从代码中我们能够看出,尽管须要进行逻辑推断,可是创建XMLHttpRequest对象并不复杂。

    自己对于XMLHttpRequest的理解也不是非常透彻,仅仅是依据视频中的实例和Ajax编程技术课本中的知识进行了整理,希望大家能多交流,共同进步。

    版权声明:本文博客原创文章。转载请注明出处,谢谢。

  • 相关阅读:
    python学习手册 (第3版)
    服务器搭建
    阿里云 大数据 云计算 分布式
    PS插件开发plugin
    GIS九交模型
    人脸识别 人工智能(AI)
    Github上发布托管和下载
    RPLiDAR 激光雷达探测地面高程
    linux内核调试
    convex hull
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4628372.html
Copyright © 2020-2023  润新知