首页 > 代码库 > ajax学习笔记之二
ajax学习笔记之二
对代码进行一下优化如下:
window.onload=initAll;//页面加载是调用 var xhr = false;//先定义为flase
//加载函数 function initAll(){ if(window.XMLHttpRequest){//判断浏览器是否支持XMLHttpRequest,如果支持则创建对象 xhr= new XMLHttpRequest; }else{ if(window.ActiveXObject){//如果不支持则判断时候支持ActiveXObject(为IE早期浏览器内置引擎对象) try{ xhr = new ActiveXObject("Microsoft.XMLHTTP");//创建对象 }catch(e){} } } if(xhr){ //判断如果对象存在 getPix();//调用getPix()函数 } else{ alert("Sorry,but I could‘t creat an XMLHttpRequest");//否则,弹出对话框提示不能创建引擎对象 } }
function getPix(){ xhr.open("GET/POST","URL地址","true/fasle");//打开open函数 xhr.onreadystatechange = showPictures;//状态变化判断 xhr.end(null);//发送参数(get为null,post先设置requesthead) setTimeout(getPix,5*1000);//每5S调用一次函数 }
function showPictures(){ var tempText = doucument.createElement("div");//创建一个div if(xhr.readyState = 4){//判断状态是否为4 if(xhr.status = 200){ var allImages = xhr.responsXML.getElementsByTagName("content");//处理结果 } }else{ alert("There was a problem with the request"+xhr.status) } }
需要注意的地方
虽然微软的IE(5.5,6)支持XMLHttpRequest,但是没有这个对象的本机版本,在这种情况下,必须检查浏览器是否支持ActiveX。如果支持的话,就检查是否能根据ActiveX创建XMLHttpRequest对象(try、catch进行异常处理)。
每当xhr.readyStatue属相值发生变化时,就会触发xhr.onreadystatuechange这个处理程序从
readyState属性值
0----------------未初始化
1---------------正在加载
2----------------已经加载
3----------------交互式的,未加载完也可以进行交互
4----------------完成
状态码200代表一切正常,404请求文件不存在
ajax学习笔记之二
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。