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

首頁 > 語言 > JavaScript > 正文

原生js封裝的ajax方法示例

2024-05-06 15:32:10
字體:
來源:轉載
供稿:網友

本文實例講述了原生js封裝的ajax方法。分享給大家供大家參考,具體如下:

眾所周知,框架之間會有沖突,這是源生js就起到作用了,下面介紹一種源生js封裝的ajax請求。

function ajax(options) {  options = options || {};  options.type = (options.type || "GET").toUpperCase();  options.dataType = options.dataType || "json";  var params = formatParams(options.data);  //創建xhr對象 - 非IE6  if (window.XMLHttpRequest) {    var xhr = new XMLHttpRequest();  } else { //IE6及其以下版本瀏覽器    var xhr = new ActiveXObject('Microsoft.XMLHTTP');  }  //GET POST 兩種請求方式  if (options.type == "GET") {    xhr.open("GET", options.url + "?" + params, true);    xhr.send(null);  } else if (options.type == "POST") {    xhr.open("POST", options.url, true);    //設置表單提交時的內容類型    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");    xhr.send(params);  }  //接收  xhr.onreadystatechange = function () {    if (xhr.readyState == 4) {      var status = xhr.status;      if (status >= 200 && status < 300) {        options.success && options.success(xhr.responseText);      } else {        options.fail && options.fail(status);      }    }  }}//格式化參數function formatParams(data) {  var arr = [];  for (var name in data) {    arr.push(encodeURIComponent(name) + "=" + encodeURIComponent(data[name]));  }  arr.push(("v=" + Math.random()).replace(".",""));  return arr.join("&");}

調用方法

ajax({  url: "data.json",  type: "GET",  data: {},  dataType: "json",  success: function (response) {    // 此處放成功后執行的代碼     // 解析返回的字符串 轉為json對象    var usingdata = eval("("+response+")").data;  }  fail: function (status) {    // 此處放失敗后執行的代碼  }});

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 肇庆市| 靖宇县| 广宁县| 华坪县| 永吉县| 沙坪坝区| 蕲春县| 长寿区| 隆安县| 台东县| 合肥市| 大埔县| 开封市| 德江县| 防城港市| 黔西县| 比如县| 德安县| 固原市| 荆州市| 边坝县| 延川县| 阳曲县| 庐江县| 新建县| 上蔡县| 横峰县| 灵石县| 鄂伦春自治旗| 郸城县| 陈巴尔虎旗| 百色市| 盱眙县| 哈巴河县| 陵川县| 西峡县| 全州县| 广德县| 醴陵市| 岳西县| 新巴尔虎右旗|