Javascript Ajax总结——XMLHttpRequest对象

Ajax技术能向服务器异步请求额外的数据,会带来更好的用户体验。
Ajax技术核心:XMLHttpRequest对象(简称XHR)。
XHR为向服务器发送请求和解析服务器响应提供了流畅的接口。

一、建立XMLHttpRequest对象
建立XMLHttpRequest对象:
1 var xhr = new XMLHttpRequest();
注:IE7+、Firefox、Opera、Chrome和Safari支持原生XHR对象。
(可是我测试IE5也支持原生XHR对象,多是作了更新)

IE7及以前的版本须要使用MSXML库中的XHR对象。
以下所示,能够兼容几乎全部浏览器:
 1 function createXHR() {
 2         if(typeof  XMLHttpRequest != "undefined"){
 3             return new XMLHttpRequest();                         //IE7+、Firefox、Opera、Chrome、Safari
 4         }
 5         else if(typeof ActiveXObject != "undefined"){
 6              return  new ActiveXObject("Microsoft.XMLHTTP");     //IE7及之前版本的浏览器
 7         }
 8         else{
 9             throw new Error("No XHR object available.");
10         }
11     }
12 var xhr = createXHR();

二、XHR用法php

 1 var xhr = createXHR();                                                     //建立XHR对象
 2 xhr.onreadystatechange = function(){                                       //readyState状态改变及触发onreadystatechange事件
 3     if(xhr.readyState == 4){                                               //readyState状态改变可从0到4,4表示全部数据已就绪
 4         if((xhr.status >= 200 && xhr.status <300) || xhr.status == 304){   //status为200,响应成功;为304,表示请求的资源未被修改
 5             alert(xhr.responseText);                                       //responseText表示响应主体返回的文本
 6     } else {
 7             alert(“Request was unsuccessful: ” + xhr.status);
 8     }
 9   }
10 };
11 xhr.open(“get”, “test.php”, true);                                          //启动一个请求以备发送
12 xhr.send(null);                                                             //发送请求
相关文章
相关标签/搜索