XMLHttpRequest对象的创建与用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XMLHttpRequest对象的创建与用法相关的知识,希望对你有一定的参考价值。

IE5是第一款引入XHR对象的浏览器。在IE5678是通过MSXML库里的一个ActiveXObject对象实现的。其他新的浏览器可直接创建XMLHttpRequest对象

下面一个兼容创建xhr方法

 1 function createXHR(){
 2             if (typeof XMLHttpRequest != "undefined"){
 3                 return new XMLHttpRequest();
 4             } else if (typeof ActiveXObject != "undefined"){
 5                 if (typeof arguments.callee.activeXString != "string"){
 6                     var versions = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0",
 7                                     "MSXML2.XMLHttp"],
 8                         i, len;
 9             
10                     for (i=0,len=versions.length; i < len; i++){
11                         try {
12                             new ActiveXObject(versions[i]);
13                             arguments.callee.activeXString = versions[i];
14                             break;
15                         } catch (ex){
16                             //skip
17                         }
18                     }
19                 }
20             
21                 return new ActiveXObject(arguments.callee.activeXString);
22             } else {
23                 throw new Error("No XHR object available.");
24             }
25         }

 

 1      //创建XHR对象
 2         var xhr = createXHR(); 
3 //打开请求 4 xhr.open("get", "example.txt", false); //只能向同一域中 使用相同端口和协议的URL发送请求。否则可能引发安全错误

5 //发送请求 6 xhr.send(null); //send()方法接受一个参数,即请求主体发送的数据,没数据必须传入null 7 8 if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304){ 9 alert(xhr.statusText); 10 alert(xhr.responseText); 11 } else { 12 alert("Request was unsuccessful: " + xhr.status); 13 }

xhr.resonseText:响应主体被返回的文本

xhr.status:响应的HTTP状态 。一般将状态码为200作为成功标识;状态码为304标识请求的资源没有被修改,可以直接使用缓存

xhr.statusText:响应的HTTP状态说明

 

以上是关于XMLHttpRequest对象的创建与用法的主要内容,如果未能解决你的问题,请参考以下文章

Ajax简单用法

js原生ajax与jquery的ajax的用法区别

fetch的概念以及基本用法

原生Ajax(XMLHttpRequest)

js FormData用法详解

AJAX - 创建 XMLHttpRequest 对象