国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript實現簡單的ajax封裝示例

2019-11-19 18:13:11
字體:
來源:轉載
供稿:網友

本文實例講述了javascript實現簡單的ajax功能封裝。分享給大家供大家參考,具體如下:

function ajax(obj){    var xhr = (function (){//獲取xhr對象,為了兼容ie6所以進行了重新封裝  if(typeof XMLHttpRequest !='undefined') {    return new XMLHttpRequest();  }else if(typeof ActiveXObject !='undefined') {    var version = [      'MSXML2.XMLHttp6.0',      'MSXML2.XMLHttp3.0',      'MSXML2.XMLHttp'    ]    for(var i in version) {      try{        return new ActiveXObject(version[i]);        break;      }catch(e){      //捕獲錯誤進行然后跳出繼續循環      }    }  }else{    throw new Error("您的系統或瀏覽器不支持XHR對象!");  }})();//獲取xhr對象    //默認true開啟異步(異步和同步的主要區別是異步在請求的時候后面的腳本可以繼續運行,同步的話必須運行完ajax然后才能運行其后面的腳本)    if(obj.async === true) {      xhr.onreadystatechange = function() {        if(xhr.readyState ==4) {          callback(xhr.responseText);        }      }    }  var arr=[] ;  for(var i in obj.data) {arr.push(encodeURIComponent(i)+'='+encodeURIComponent(obj.data[i]));}  obj.data = arr.join('&');  //這一步要注意一下,不管是get/post 方式提交都必須要對傳進來的obj.data進行格式化 最后轉化成的格式name=zhang&age=26&wedding=no  if(obj.method === 'get') {//通過get方式請求的      obj.url = obj.url.indexOf('?') ==-1 ? obj.url+'?rand='+Math.random()+'&'+obj.data : obj.url+'rand='+Math.random()+'&'+obj.data;      xhr.open(obj.method,obj.url,obj.async);      xhr.send(null);  }  if(obj.method === 'post') {//通過post方式請求的      obj.url =obj.url+'?rand='+Math.random();      xhr.open(obj.method,obj.url,obj.async);      xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');//這是對請求頭部的類型重設,post的請求必須要重設;      xhr.send(obj.data);  }  //false開啟同步  if(obj.async === false) {callback(xhr.responseText);}  function callback (returnTxt) {      if(xhr.status == 200){        obj.success(returnTxt);      }else {      alert('獲取數據錯誤!錯誤代號:' + xhr.status + ',錯誤信息:' + xhr.statusText);    }  }}

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript中ajax操作技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜川县| 宁远县| 岚皋县| 调兵山市| 昌乐县| 兰州市| 中方县| 读书| 廉江市| 五原县| 含山县| 巴林左旗| 左贡县| 桐乡市| 陈巴尔虎旗| 彭阳县| 宜阳县| 遂川县| 兴国县| 亳州市| 扬中市| 宽城| 申扎县| 闸北区| 托克托县| 乌审旗| 梅州市| 铜川市| 新绛县| 贞丰县| 澄江县| 乐山市| 大同县| 杭州市| 鄂温| 远安县| 永清县| 得荣县| 呼图壁县| 永城市| 华宁县|