/*
 * 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 }
原文:http://www.cnblogs.com/VanqusherCsn/p/4104626.html