自我学习——javascript——Ajax和commt

1.一个基本的ajax例子:

  

 1         function creatXHR(){
 2             //适用于ie7及以后的ie版本和现代浏览器
 3             if(typeof XMLHttpRequest != "undefined"){
 4                 return new XMLHttpRequest();
 5             }else if(typeof ActiveXObject!="undefined"){
 6                 if(typeof arguments.callee.activeXString!="String"){
 7                     var versions=["MSXML2.XMLHttp.6.0","MSXML2.XMLHttps.3.0","MSXML2.XMLHttp"];
 8                     var i,len;
 9                     for(i=0,lem=versions.length;i<len;i++){
10                         try{
11                             new ActiveXObject(versions[i]);
12                             arguments.callee.activeXString=versions[i];
13                             break;
14                         }catch(ex){
15                             //跳过
16                         }
17                     }
18                 }
19                 return new ActiveXObject(arguments.callee.activeXString);
20             }else{
21                 throw new Error("No XHR Object available");
22             }
23         }
24         
25         //创建一个跨浏览器的XmlHttpRequest对象,
26         var xhr=new creatXHR();
27         
28         //设置当请求返回时候的执行函数
29         xhr.onreadystatechange=function(){
30             if(xhr.readyState==4){            //readyState==4代表请求完成,接收到了全部数据
31                 if(( xhr.status>=200&&xhr.status<=300 )||xhr.status==304){        //200++是成功标志,304是缓存中有不需要更改标志,都是成功得到数据的情况
32                     alert(xhr.responseText);            //返回请求到的数据
33                 }else{
34                     alert("请求不成功");
35                     document.getElementById("status").innerHTML=xhr.status;        //返回失败请求的头部用于判断出错位置
36                     document.getElementById("statusText").innerHTML=xhr.statusText;    //返回失败请求的原因说明,但是这个说明在各个浏览器表现是不一致的
37                 }
38             }
39         }
40 
41         xhr.open("get","../jquery-1.7.2.min.js",true);            //注意,这里不是http请求,会导致状态码不变,但是实际上请求是成功的却还是显示请求不成功,但是我们一般情况下是用来请求http数据的
42         xhr.send(null);                //这里可以设置请求http的参数,对应jquery的data

 

 

 

 

posted @ 2013-07-22 10:28  小斯新手  阅读(338)  评论(0编辑  收藏  举报