原生javascript對ajax的封裝程式碼例項
本章節分享一段程式碼,它是對原生的ajax的封裝,因為在預設狀態下具有一定的相容性問題,所有良好的封裝還是非常有必要的,希望下面的程式碼能夠給需要的朋友帶來幫助,程式碼如下:
[JavaScript] 純文字檢視 複製程式碼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? mlhttp.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; } }; 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(); } }
相關文章
- 原生ajax()函式封裝程式碼例項函式封裝
- javascript字串操作程式碼封裝程式碼例項JavaScript字串封裝
- javascript獲取元素封裝程式碼例項JavaScript封裝
- javascript對url相關操作功能封裝程式碼例項JavaScript封裝
- JavaScript封裝的id選擇器程式碼例項JavaScript封裝
- ajax原生js封裝JS封裝
- 原生js封裝AjaxJS封裝
- 原生Ajax封裝隨筆封裝
- 原生ajax處理json格式資料程式碼例項JSON
- javascript 絕對值程式碼例項JavaScript
- 編寫自己的程式碼庫(javascript常用例項的實現與封裝)JavaScript封裝
- 原生JS封裝AJAX請求JS封裝
- 編寫自己的程式碼庫(javascript常用例項的實現與封裝–續)JavaScript封裝
- javascript的for in例項程式碼JavaScript
- js對cookie操作一些常用功能的封裝程式碼例項JSCookie封裝
- 原生javascript操作select下拉選單程式碼例項JavaScript
- 原生javascript實現的iframe高度自適應程式碼例項JavaScript
- 原生就javascript實現的獲取子元素程式碼例項JavaScript
- 原生js—ajax的封裝外掛.js—(對get和post做了相容)JS封裝
- 原生javascript獲取下一級子元素程式碼例項JavaScript
- js ajax惰性載入程式碼例項JS
- jQuery ajax請求程式碼例項分享jQuery
- [Ajax]十個優秀的Ajax/Javascript例項網站JavaScript網站
- 原生js tab選項卡程式碼例項JS
- javascript獲取數字的絕對值程式碼例項JavaScript
- javascript獲取連結的絕對地址程式碼例項JavaScript
- js物件導向封裝拖動效果程式碼例項JS物件封裝
- javascript操作cookie程式碼封裝JavaScriptCookie封裝
- 原生js---ajax的封裝外掛.js---(對get和post做了兼JS封裝
- 使用ajax方式提交表單程式碼例項
- JavaScript in運算子程式碼例項JavaScript
- javascript操作xml程式碼例項JavaScriptXML
- JavaScript confirm() 程式碼例項JavaScript
- javascript Function()使用程式碼例項JavaScriptFunction
- JavaScript dom操作程式碼例項JavaScript
- javascript委託程式碼例項JavaScript
- javascript階乘程式碼例項JavaScript
- javascript應用cookie的封裝程式碼JavaScriptCookie封裝