最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

原生js封裝的ajax方法示例

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

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

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

function ajax(options) {
  options = options || {};
  options.type = (options.type || "GET").toUpperCase();
  options.dataType = options.dataType || "json";
  var params = formatParams(options.data);
  //創(chuàng)建xhr對(duì)象 - 非IE6
  if (window.XMLHttpRequest) {
    var xhr = new XMLHttpRequest();
  } else { //IE6及其以下版本瀏覽器
    var xhr = new ActiveXObject('Microsoft.XMLHTTP');
  }
  //GET POST 兩種請(qǐng)求方式
  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è)置表單提交時(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對(duì)象
    var usingdata = eval("("+response+")").data;
  }
  fail: function (status) {
    // 此處放失敗后執(zhí)行的代碼
  }
});

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

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

相關(guān)文章

  • webpack源碼之loader機(jī)制詳解

    webpack源碼之loader機(jī)制詳解

    本篇文章主要介紹了webpack源碼之loader機(jī)制詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • javascript onmouseout 解決辦法

    javascript onmouseout 解決辦法

    最近在做一個(gè)簡(jiǎn)單的鼠標(biāo)onmouseover時(shí)顯示層(層里面有多個(gè)鏈接文字),onmouseout 時(shí)隱藏層的功能時(shí),發(fā)現(xiàn)有諸多問(wèn)題.
    2010-07-07
  • JS前端筆試題分析

    JS前端筆試題分析

    這篇文章主要介紹了JS前端筆試題,結(jié)合實(shí)例形式分析了javascript字符串、數(shù)組及日期操作相關(guān)技巧,需要的朋友可以參考下
    2016-12-12
  • js獲取Get值的方法

    js獲取Get值的方法

    這篇文章主要介紹了js獲取Get值的方法,涉及javascript正則及頁(yè)面參數(shù)操作相關(guān)技巧,需要的朋友可以參考下
    2016-09-09
  • JS中對(duì)象與字符串的互相轉(zhuǎn)換詳解

    JS中對(duì)象與字符串的互相轉(zhuǎn)換詳解

    下面小編就為大家?guī)?lái)一篇JS中對(duì)象與字符串的互相轉(zhuǎn)換詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • JavaScript設(shè)計(jì)模式之觀察者模式(發(fā)布者-訂閱者模式)

    JavaScript設(shè)計(jì)模式之觀察者模式(發(fā)布者-訂閱者模式)

    這篇文章主要介紹了JavaScript設(shè)計(jì)模式之觀察者模式(發(fā)布者-訂閱者模式),本文詳細(xì)的講解了JavaScript中的觀察者模式,需要的朋友可以參考下
    2014-09-09
  • layer.open提交子頁(yè)面的form和layedit文本編輯內(nèi)容的方法

    layer.open提交子頁(yè)面的form和layedit文本編輯內(nèi)容的方法

    今天小編就為大家分享一篇layer.open提交子頁(yè)面的form和layedit文本編輯內(nèi)容的方法,具有好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • javascript實(shí)現(xiàn)根據(jù)函數(shù)名稱字符串動(dòng)態(tài)執(zhí)行函數(shù)的方法示例

    javascript實(shí)現(xiàn)根據(jù)函數(shù)名稱字符串動(dòng)態(tài)執(zhí)行函數(shù)的方法示例

    這篇文章主要介紹了javascript實(shí)現(xiàn)根據(jù)函數(shù)名稱字符串動(dòng)態(tài)執(zhí)行函數(shù)的方法,結(jié)合實(shí)例形式分析了JS函數(shù)名的判斷及函數(shù)動(dòng)態(tài)調(diào)用相關(guān)操作技巧,需要的朋友可以參考下
    2016-12-12
  • webpack熱模塊替換(HMR)/熱更新的方法

    webpack熱模塊替換(HMR)/熱更新的方法

    模塊熱替換(HMR)的作用是,在應(yīng)用運(yùn)行時(shí),無(wú)需刷新頁(yè)面,便能替換、增加、刪除必要的模塊,本篇文章主要介紹了webpack熱模塊替換(HMR)/熱更新的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • JavaScript中const關(guān)鍵字的用法及特性

    JavaScript中const關(guān)鍵字的用法及特性

    該文章講解了JavaScript中const關(guān)鍵字的用法以及它的一些特性,該關(guān)鍵字用于創(chuàng)建常量,即一旦賦值之后就不能再修改,但是,使用?const創(chuàng)建的對(duì)象和數(shù)組卻可以被修改,本文通過(guò)講解“賦值”和“變異”之間的重要區(qū)別,詳細(xì)解釋了這一現(xiàn)象,需要的朋友可以參考下
    2023-05-05

最新評(píng)論

汤原县| 都匀市| 石渠县| 冕宁县| 射阳县| 漠河县| 泸溪县| 北碚区| 石林| 铅山县| 十堰市| 宁陕县| 集贤县| 兰考县| 阳西县| 湘阴县| 莱芜市| 台前县| 新郑市| 资讯 | 霍林郭勒市| 邓州市| 扎鲁特旗| 盖州市| 枣强县| 太湖县| 七台河市| 中阳县| 观塘区| 隆子县| 内黄县| 三门县| 涿州市| 类乌齐县| 黔南| 怀集县| 临泉县| 许昌市| 剑河县| 泰州市| 石阡县|