2012年5月8日星期二

自己封装的纯js实现ajax

自己封装的纯js实现ajax

 1 var aj=new Object(); 2 aj.request = function(){ 3     if(window. 4         var ajax = new  5     }else if (window.ActiveXObject) {  6         try { 7             var ajax = new ActiveXObject("Ms); 8         } catch (e) { 9             try {10                     var ajax = new ActiveXObject("Microsoft.);11                 } catch (e) {}12         }13     }14     if (!ajax) { 15             window.alert("不能创建);16             return false;17     }18         return ajax;19 }20 aj.req=aj.request();21 aj.Handle=function(callback){22     aj.req.onreadystatechange=function(){23         if(aj.req.readyState==4){24             if(aj.req.status==200){25                 callback(aj.req.responseText);26             }27         }28     }29 }30 aj.cl=function(o){31     if(typeof(o)=='object'){32         var str='';33         for(a in o){34             35             str+=a+'='+o[a]+'&';36         }37         str=str.substr(0,str.length-1);38         return str;39     }else{40         return o;41     }42 }43 aj.get=function(url,callback){44     aj.req.open('get',url,true);45     aj.req.send(null);46     aj.Handle(callback);47 }48 aj.post=function(url,content,callback){49     aj.req.open('post',url,true);50     aj.req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');51     content=aj.cl(content);52     aj.req.send(content);53     aj.Handle(callback);54 }

使用的时候就是:

//get的使用

aj.get(url,function(data){返回数据后处理})

//post的使用

aj.post(url,{data:aa},function(data){返回的数据处理})

或者

aj.post(url,"data=1&a=2",function(data){返回的数据处理})


TAG:ajax 纯js实现