/*
* Ajax的源码实践
*
* 创建一个Ajax
* 创建连接
* 请求
* 返回
* -----------美丽的分割线-------------------------
* 1>>>>>>>>>
* XMLHttpRequest 火狐下
* ActiveXObject('Microsoft.XMLHTTP') IE下
*
* 2>>>>>>>>>
* onreadystatechange 当客户端和服务器发生通信时调用
*
* readyState 和服务器通信完成到第几部了【只代表是否结束不代表是否成功】
* 0 初始化 还没有调用open方法
* 1 已经调用了send()方法
* 2 载入 send()方法完成
* 3 正在解析内容
* 4 完成解析客户端调用
*
* status 请求结果【是否成功】
* 200 代表成功
*
* responseText 服务器解析完成返回的内容
*/
1 function ajax(url , fnSucc , fnFaild ) 2 { 3 //创建一个ajax 4 var oAjax = null; 5 if(window.XMLHttpRequest) 6 { 7 oAjax = new XMLHttpRequest; 8 } 9 else 10 { 11 oAjax = new ActiveXObject('Microsoft.XMLHTTP'); 12 } 13 14 //创建连接 15 oAjax.open('GET', url , true); 16 17 //发送请求 18 oAjax.send(); 19 20 //返回数据 21 oAjax.onreadystatechange=function() 22 { 23 if(oAjax.readyState == 4) 24 { 25 if(oAjax.status == 200) 26 { 27 fnSucc(oAjax.responseText); 28 } 29 else 30 { 31 if(fnFaild)//如果有第三个参数 才执行 32 { 33 fnSucc(); 34 } 35 36 } 37 } 38 } 39 }