亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

原生js封裝的ajax方法示例

 更新時間:2018年08月02日 12:13:18   作者:Manson_zh  
這篇文章主要介紹了原生js封裝的ajax方法,結(jié)合實例形式分析了JavaScript封裝ajax操作及調(diào)用方法相關(guān)操作技巧,非常簡單實用,需要的朋友可以參考下

本文實例講述了原生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);
  //創(chuàng)建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);
    //設(shè)置表單提交時的內(nèi)容類型
    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);
      }
    }
  }
}
//格式化參數(shù)
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("&");
}

調(diào)用方法

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

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript中ajax操作技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

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

相關(guān)文章

  • Canvas實現(xiàn)數(shù)字雨和放大鏡效果的代碼示例

    Canvas實現(xiàn)數(shù)字雨和放大鏡效果的代碼示例

    這篇文章主要介紹了如何Canvas實現(xiàn)數(shù)字雨和放大鏡效果,文中有完整的代碼示例,文章通過代碼介紹的非常清楚,感興趣的小伙伴跟著小編一起來看看吧
    2023-07-07
  • 基于js Canvas實現(xiàn)二次貝塞爾曲線

    基于js Canvas實現(xiàn)二次貝塞爾曲線

    這篇文章主要為大家詳細(xì)介紹了基于js Canvas實現(xiàn)二次貝塞爾曲線,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 原生js實現(xiàn)網(wǎng)易輪播圖效果

    原生js實現(xiàn)網(wǎng)易輪播圖效果

    這篇文章主要為大家詳細(xì)介紹了原生js實現(xiàn)網(wǎng)易輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • JavaScript深入理解節(jié)流與防抖

    JavaScript深入理解節(jié)流與防抖

    防抖和節(jié)流嚴(yán)格算起來應(yīng)該屬于性能優(yōu)化的知識,但實際上遇到的頻率相當(dāng)高,處理不當(dāng)或者放任不管就容易引起瀏覽器卡死,下面這篇文章主要給大家介紹了關(guān)于JavaScript防抖與節(jié)流的實現(xiàn)與注意事項,需要的朋友可以參考下
    2022-04-04
  • js實現(xiàn)的下拉框二級聯(lián)動效果

    js實現(xiàn)的下拉框二級聯(lián)動效果

    這篇文章主要介紹了js實現(xiàn)的下拉框二級聯(lián)動效果,涉及JavaScript針對頁面元素的遍歷與節(jié)點操作相關(guān)技巧,需要的朋友可以參考下
    2016-04-04
  • uniapp 對于scroll-view滑動和頁面滑動的聯(lián)動處理方法

    uniapp 對于scroll-view滑動和頁面滑動的聯(lián)動處理方法

    這篇文章主要介紹了uniapp 對于scroll-view滑動和頁面滑動的聯(lián)動處理方法,本文通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-08-08
  • JS實現(xiàn)數(shù)組去重,顯示重復(fù)元素及個數(shù)的方法示例

    JS實現(xiàn)數(shù)組去重,顯示重復(fù)元素及個數(shù)的方法示例

    這篇文章主要介紹了JS實現(xiàn)數(shù)組去重,顯示重復(fù)元素及個數(shù)的方法,涉及javascript數(shù)組遍歷、統(tǒng)計、計算等相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • JS實現(xiàn)自動變化的導(dǎo)航菜單效果代碼

    JS實現(xiàn)自動變化的導(dǎo)航菜單效果代碼

    這篇文章主要介紹了JS實現(xiàn)自動變化的導(dǎo)航菜單效果代碼,涉及JavaScript基于定時函數(shù)觸發(fā)頁面元素屬性動態(tài)變換的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • 微信小程序自定義可滾動的彈出框

    微信小程序自定義可滾動的彈出框

    這篇文章主要為大家詳細(xì)介紹了微信小程序自定義可滾動的彈出框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 奇偶行高亮顯示及鼠標(biāo)劃過高亮顯示類

    奇偶行高亮顯示及鼠標(biāo)劃過高亮顯示類

    奇或偶數(shù)行高亮顯示及鼠標(biāo)莫過高亮顯示,一個經(jīng)常用到的效果,也能谷歌到大把的這種效果JS,但好像還沒有一個封裝成類直接用的.想象自己當(dāng)初谷歌這個類時,還真沒少折騰時間.
    2010-07-07

最新評論