您的位置:首页 > Web前端 > JavaScript

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

2013-07-22 10:28 381 查看

1.一个基本的ajax例子:

  

function creatXHR(){
//适用于ie7及以后的ie版本和现代浏览器
if(typeof XMLHttpRequest != "undefined"){
return new XMLHttpRequest();
}else if(typeof ActiveXObject!="undefined"){
if(typeof arguments.callee.activeXString!="String"){
var versions=["MSXML2.XMLHttp.6.0","MSXML2.XMLHttps.3.0","MSXML2.XMLHttp"];
var i,len;
for(i=0,lem=versions.length;i<len;i++){
try{
new ActiveXObject(versions[i]);
arguments.callee.activeXString=versions[i];
break;
}catch(ex){
//跳过
}
}
}
return new ActiveXObject(arguments.callee.activeXString);
}else{
throw new Error("No XHR Object available");
}
}

//创建一个跨浏览器的XmlHttpRequest对象,
var xhr=new creatXHR();

//设置当请求返回时候的执行函数
xhr.onreadystatechange=function(){
if(xhr.readyState==4){            //readyState==4代表请求完成,接收到了全部数据
if(( xhr.status>=200&&xhr.status<=300 )||xhr.status==304){        //200++是成功标志,304是缓存中有不需要更改标志,都是成功得到数据的情况
alert(xhr.responseText);            //返回请求到的数据
}else{
alert("请求不成功");
document.getElementById("status").innerHTML=xhr.status;        //返回失败请求的头部用于判断出错位置
document.getElementById("statusText").innerHTML=xhr.statusText;    //返回失败请求的原因说明,但是这个说明在各个浏览器表现是不一致的
}
}
}

xhr.open("get","../jquery-1.7.2.min.js",true);            //注意,这里不是http请求,会导致状态码不变,但是实际上请求是成功的却还是显示请求不成功,但是我们一般情况下是用来请求http数据的
xhr.send(null);                //这里可以设置请求http的参数,对应jquery的data
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: