兼容早期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.

 

posted @ 2015-06-12 21:16  Kerita  阅读(455)  评论(0编辑  收藏  举报