AjaxHelper的get和post請求的封裝類


      最近在學習ajax的時候發現不斷的調用get和post請求時,代碼重復很多,有的公司會用自帶的封裝的方法,這個可以直接調用ajax的方法,但是在運用的時候我們也應該學習它是怎么封裝的和一些原理性的東西,Ajax技術在很多網站的開發都會用到,異步刷新大大提高了網站的性能。ajax的請求我們歸結了五部曲,下面是我自己通過查找資料和學習總結的ajax的get和post請求的封裝類。

代碼:

 1 var ajaxHelper = {
 2     //1.得到異步對象
 3     GetXhr: function () {
 4         var xhr;
 5         if (window.XMLHttpRequest) {
 6            //兼容新式瀏覽器
 7             xhr = new XMLHttpRequest();
 8         } else { //兼容IE老式瀏覽器
 9             xhr = new ActiveXObject("Microsoft.XMLHTTP");
10         }
11         //返回異步對象
12         return xhr;
13     },
14     //2.定義get請求
15     ajaxGet: function (url, callback) {
16         this.ajaxComm("get", url, null, callback);
17     },
18     //3.定義post請求
19     ajaxPost: function (url,params,callback) {
20         this.ajaxComm("post",url,params,callback);
21     },
22     //4.公共請求方法
23    //method:get,post
24    //url:需要發送的請求地址
25    //parms:發送給服務器的數據,post的時候才有值,get為null
26    //callbakc:請求成功以后的回調函數
27     ajaxComm: function (method, url, params, callbakc) {
28         //1.0創建異步對象
29         var xhr = this.GetXhr();
30         //2.0設置請求的參數
31         xhr.open(method, url, params, callbakc);
32         //3.0防止緩存
33         if (method == "get") {
34             xhr.setRequestHeader("If-Modified-Since", "0");
35         } else {
36             xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
37         }
38         //4.0設置回調函數
39         xhr.onreadystatechange = function () {
40             if(xhr.readyState==4&&xhr.status==200){
41                 var objdata = xhr.responseText;
42                 var data = JSON.parse(objdata);
43                 //執行業務邏輯
44                 callbakc(data);
45             }
46         }
47         //5.0發送請求
48         xhr.send(params);
49 
50     }
51 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM