AJax 源码思路

/*
* 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 }

 

你可能感兴趣的:(Ajax)