欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用原生js寫ajax實(shí)例(推薦)

 更新時(shí)間:2017年05月31日 07:46:50   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇使用原生js寫ajax實(shí)例(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧

實(shí)例如下:

// 使用原生js 封裝ajax
// 兼容xhr對(duì)象
function createXHR(){
  if(typeof XMLHttpRequest != "undefined"){ // 非IE6瀏覽器
    return new XMLHttpRequest();
  }else if(typeof ActiveXObject != "undefined"){  // IE6瀏覽器
    var version = [
          "MSXML2.XMLHttp.6.0",
          "MSXML2.XMLHttp.3.0",
          "MSXML2.XMLHttp",
    ];
    for(var i = 0; i < version.length; i++){
      try{
        return new ActiveXObject(version[i]);
      }catch(e){
        //跳過
      }
    }
  }else{
    throw new Error("您的系統(tǒng)或?yàn)g覽器不支持XHR對(duì)象!");
  }
}
// 轉(zhuǎn)義字符
function params(data){
  var arr = [];
  for(var i in data){
    arr.push(encodeURIComponent(i) + "=" + encodeURIComponent(data[i]));
  }
  return arr.join("&");
}
// 封裝ajax
function ga_ajax(obj){
  var xhr = createXHR();
  obj.url = obj.url + "?rand=" + Math.random(); // 清除緩存
  obj.data = params(obj.data);   // 轉(zhuǎn)義字符串
  if(obj.method === "get"){   // 判斷使用的是否是get方式發(fā)送
    obj.url += obj.url.indexOf("?") == "-1" ? "?" + obj.data : "&" + obj.data;
  }
  // 異步
  if(obj.async === true){
    // 異步的時(shí)候需要觸發(fā)onreadystatechange事件
    xhr.onreadystatechange = function(){
      // 執(zhí)行完成
      if(xhr.readyState == 4){
        callBack();
      }
    }
  }
  xhr.open(obj.method,obj.url,obj.async); // false是同步 true是異步 // "demo.php?rand="+Math.random()+"&name=ga&ga",
  if(obj.method === "post"){
    xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    xhr.send(obj.data);
  }else{
    xhr.send(null);
  }
  // xhr.abort(); // 取消異步請(qǐng)求
  // 同步
  if(obj.async === false){
    callBack();
  }
  // 返回?cái)?shù)據(jù)
  function callBack(){
    // 判斷是否返回正確
    if(xhr.status == 200){
      obj.success(xhr.responseText);
    }else{
      obj.Error("獲取數(shù)據(jù)失敗,錯(cuò)誤代號(hào)為:"+xhr.status+"錯(cuò)誤信息為:"+xhr.statusText);
    }
  }
}

var html = document.getElementsByTagName("html")[0];
html.onclick = function(){
  ga_ajax({
    "method" : "post",
    "url" : "demo.php",
    "data" : {
      "name" : "gao",
      "age" : 100,
      "num" : "12346&598"
    },
    "success" : function(data){
      alert(data);
    },
    "Error" : function(text){
      alert(text);
    },
    "async" : false
  });
}

以上這篇使用原生js寫ajax實(shí)例(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決JavaScript精度問題的常見方法

    解決JavaScript精度問題的常見方法

    在 JavaScript 中,處理浮點(diǎn)數(shù)時(shí)經(jīng)常會(huì)遇到精度丟失的問題,這是由于 JavaScript 內(nèi)部采用 IEEE 754 標(biāo)準(zhǔn)表示浮點(diǎn)數(shù),導(dǎo)致某些小數(shù)無(wú)法精確表示,本文將介紹一些常見的方法來(lái)解決 JavaScript 中的精度問題,并討論它們的優(yōu)缺點(diǎn),需要的朋友可以參考下
    2024-05-05
  • ztree獲取當(dāng)前選中節(jié)點(diǎn)子節(jié)點(diǎn)id集合的方法

    ztree獲取當(dāng)前選中節(jié)點(diǎn)子節(jié)點(diǎn)id集合的方法

    這篇文章主要介紹了ztree獲取當(dāng)前選中節(jié)點(diǎn)子節(jié)點(diǎn)id集合的方法,實(shí)例分析了ztree的方法transformToArray使用技巧,需要的朋友可以參考下
    2015-02-02
  • 淺談PDF.js使用心得

    淺談PDF.js使用心得

    本篇文章主要介紹了淺談PDF.js使用心得,pdf.js 是一個(gè)技術(shù)原型主要用于在 HTML5 平臺(tái)上展示 PDF 文檔,無(wú)需任何本地技術(shù)支持。非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-06-06
  • JavaScript中關(guān)于e.keycode的使用

    JavaScript中關(guān)于e.keycode的使用

    這篇文章主要介紹了JavaScript中關(guān)于e.keycode的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • JS實(shí)現(xiàn)很實(shí)用的對(duì)聯(lián)廣告代碼(可自適應(yīng)高度)

    JS實(shí)現(xiàn)很實(shí)用的對(duì)聯(lián)廣告代碼(可自適應(yīng)高度)

    這篇文章主要介紹了JS實(shí)現(xiàn)很實(shí)用的對(duì)聯(lián)廣告代碼,可實(shí)現(xiàn)固定相對(duì)位置懸浮展示及跟隨屏幕上下滑動(dòng)等功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • JS基于for語(yǔ)句編寫的九九乘法表示例

    JS基于for語(yǔ)句編寫的九九乘法表示例

    這篇文章主要介紹了JS基于for語(yǔ)句編寫的九九乘法,涉及for語(yǔ)句循環(huán)輸出結(jié)合table表格布局實(shí)現(xiàn)九九乘法功能的相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • JS面向?qū)ο缶幊讨畬?duì)象使用分析

    JS面向?qū)ο缶幊讨畬?duì)象使用分析

    在AJAX興起以前,很多人寫JS可以說(shuō)都是毫無(wú)章法可言的,基本上是想到什么就寫什么,就是一個(gè)接一個(gè)的函數(shù)function,遇到重復(fù)的還得copy,如果一不小心函數(shù)重名了,還真不知道從何開始查找錯(cuò)誤
    2010-08-08
  • JS 實(shí)現(xiàn) ajax 異步瀏覽器兼容問題

    JS 實(shí)現(xiàn) ajax 異步瀏覽器兼容問題

    本文通過實(shí)例代碼給大家講解了js實(shí)現(xiàn)ajax異步瀏覽器兼容問題,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-01-01
  • 微信小程序?qū)崿F(xiàn)帶縮略圖輪播效果

    微信小程序?qū)崿F(xiàn)帶縮略圖輪播效果

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)帶縮略圖的輪播效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 值得分享和收藏的Bootstrap學(xué)習(xí)教程

    值得分享和收藏的Bootstrap學(xué)習(xí)教程

    這絕對(duì)是一套值得分享和大家收藏的Bootstrap學(xué)習(xí)教程,完整的知識(shí)體系,系統(tǒng)的學(xué)習(xí)資料,幫助大家開啟Bootstrap學(xué)習(xí)之旅,享受Bootstrap帶給大家的奇妙樂趣
    2016-05-05

最新評(píng)論