這篇文章主要介紹了自己實現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 GETn'+a.get()) //alert('by POSTn'+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(); }; }