zoukankan      html  css  js  c++  java
  • 兼容早期IE版本的 Ajax 实例

     1 <!DOCTYPE html>
     2 <html>
     3 <head lang="en">
     4     <meta charset="UTF-8">
     5     <title>ajax</title>
     6 </head>
     7 <body>
     8 <script>
     9     // 把intranet安全级别改成中低,把网站加入可信站点,把可信站点安全级别改成中低,在IE中就不会被拒绝访问。
    10     
    11     // 页面加载完毕后立即执行这个语句
    12     window.onload = function () {
    13         startRequest();
    14     }
    15 
    16     // 兼容IE早期版本,建立一个XMLHttpRequest对象
    17     function createXHR() {
    18         if (typeof XMLHttpRequest != "undefined") {
    19             return new XMLHttpRequest();
    20         } else if (typeof ActiveXObject != "undefined") {
    21             if (typeof arguments.callee.activeXString != "string") {
    22                 var versions = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0",
    23                             "MSXML2.XMLHttp"],
    24                         i, len;
    25 
    26                 for (i = 0, len = versions.length; i < len; i++) {
    27                     try {
    28                         new ActiveXObject(versions[i]);
    29                         arguments.callee.activeXString = versions[i];
    30                         break;
    31                     } catch (ex) {
    32                         //可放入提示文字
    33                     }
    34                 }
    35             }
    36 
    37             return new ActiveXObject(arguments.callee.activeXString);
    38         } else {
    39             // 没有XHR对象可用,抛出错误
    40             throw new Error("No XHR object available.");
    41         }
    42     }
    43 
    44     // 建立一个XHR对象,并且设置应对方法,同时检测返回状态
    45     function startRequest() {
    46         
    47         var xhr = createXHR();
    48 
    49         xhr.onreadystatechange = function () {
    50             
    51             // readState表示请求或者响应过程的当前活动状态
    52             if (xhr.readyState == 4) {
    53                 // status响应的状态代码  304表示没有变化,可使用浏览器的缓存
    54                 if (xhr.status >= 200 && xhr.status < 300 || xhr.status == 304) {
    55                     alert(xhr.responseText);
    56                 }
    57                 else {
    58                     alert("Failed to get the information!!!");
    59                 }
    60             }
    61         }
    62        
    63         
    64         //三个参数,发送的请求的方法,请求的url,是否异步发送请求
    65         xhr.open('get', 'data.txt', true);
    66         xhr.send(null);
    67     }
    68 
    69 </script>
    70 </body>
    71 </html>


    在同级目录下应该有一个名称为 data.txt的文件

    文件内容可自定义,运行成功后会出现在警告框中

    博主的文件内容是: Get the information successfully.
  • 相关阅读:
    基于WPF的UI自动化测试[1] 自动化测试工具
    PSR
    技术型人员如何晋升项目经理
    HyperV 组件架构(1)—总体架构
    从技术到管理:工作转型后角色定位
    Web性能优化方案
    一个项目经理的一些个人体会
    从技术人才到项目管理的跨越
    研发项目经理的管理
    从程序类转向销售类工作,该如何进行?
  • 原文地址:https://www.cnblogs.com/kerita/p/4572615.html
Copyright © 2011-2022 走看看