/* * 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 else10 {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 else30 {31 if(fnFaild)//如果有第三个参数 才执行32 {33 fnSucc();34 }35 36 }37 }38 }39 }
新闻热点
疑难解答