自己实现ajax封装示例分享 |
本文标签:ajax封装 复制代码 代码如下: //javascript Object: ajax Object //Created By RexLee function Ajax(url,data){ this.url=url; this.data=data; this.browser=(function(){ if(navigator.userAgent.indexOf("MSIE")>0) { return "MSIE";//IE浏览器 }else{ return "other";//其他 }})(); }; Ajax.prototype={ get:function(){ var result; var xmlhttp; if(this.browser==MSIE){ try{ xmlhttp=new ActiveXObject(microsoft.xmlhttp); }catch(e){ xmlhttp=new ActiveXObject(msxml2.xmlhttp); } }else{ xmlhttp=new XMLHttpRequest(); }; xmlhttp.onreadystatechange=function(){ result = xmlhttp.responseText;//闭包,不能采用this.属性 }; xmlhttp.open(GET,this.url+?+this.data,false);//true无法抓取数据,why? xmlhttp.send(null); return result; }, post:function(){ var result; var xmlhttp; if(this.browser==MSIE){ xmlhttp=new ActiveXObject(microsoft.xmlhttp); }else{ xmlhttp=new XMLHttpRequest(); }; xmlhttp.onreadystatechange=function(){ result = xmlhttp.responseText;//闭包,不能采用this.属性 }; xmlhttp.open(POST,this.url,false);//需设为false,否则无法抓取responseText xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//POST中,这句必须 xmlhttp.send(this.data); return result; } }; //var a=new ajax(opp2.js,); //alert(by GET\\n+a.get()) //alert(by POST\\n+a.post()); /////////////////////////////// window.onload=function(){ document.getElementById("btn").onclick=function(){ var p=document.getElementById("t").value; var a=new Ajax("phpOOP/getPage.php","page="+p); document.getElementById("box").innerHTML=a.get(); }; } |