国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

原生AJAX封裝的簡單實現

來源:懂視網 責編:小采 時間:2020-11-27 22:51:53
文檔

原生AJAX封裝的簡單實現

原生AJAX封裝的簡單實現:回歸下原生js,網上看到的AJAX封裝,遂拿來改改,不知還有何弊端,望指出! var ajaxHelper = { /*1.0 瀏覽器兼容的方式創建異步對象*/ makeXHR: function () { //聲明異步對象變量 var xmlHttp = false; //聲明 擴展 名 var xm
推薦度:
導讀原生AJAX封裝的簡單實現:回歸下原生js,網上看到的AJAX封裝,遂拿來改改,不知還有何弊端,望指出! var ajaxHelper = { /*1.0 瀏覽器兼容的方式創建異步對象*/ makeXHR: function () { //聲明異步對象變量 var xmlHttp = false; //聲明 擴展 名 var xm

回歸下原生js,網上看到的AJAX封裝,遂拿來改改,不知還有何弊端,望指出!

var ajaxHelper = {
 /*1.0 瀏覽器兼容的方式創建異步對象*/
 makeXHR: function () {
 //聲明異步對象變量
 var xmlHttp = false;
 //聲明 擴展 名
 var xmlHttpObj = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "MSXML.XMLHttp"];
 //判斷瀏覽器是否支持 XMLHttpRequest,如果支持,則是新式瀏覽器,可以直接創建
 if (window.XMLHttpRequest) {
 xmlHttp = new XMLHttpRequest();
 }
 //否則,只能循環遍歷老式瀏覽器異步對象名,嘗試創建,知道創建成功為止
 else if (window.ActiveXObject) {
 for (i = 0; i < xmlHttpObj.length; i++) {
 xmlHttp = new ActiveXObject(xmlHttpObj[i]);
 if (xmlHttp) {
 break;
 }
 }
 }
 //判斷 異步對象 是否創建 成功,如果 成功,則返回異步對象,否則返回false
 return xmlHttp ? xmlHttp : false;
 },
 /*2.0 發送Ajax請求*/
 doAjax: function (method, url, data, isAyn, callback, type) {
 method = method.toLowerCase();
 //2.1創建異步對象
 var xhr = this.makeXHR();
 //2.2設置請求參數(如果是get,則帶url參數,如果不是,則不帶)
 xhr.open(method, url + (method == "get" ? "?" + data : ""), isAyn);
 //2.3根據請求謂詞(get/post),添加不同的請求頭
 if (method == "get") {
 xhr.setRequestHeader("If-Modified-Since", 0);
 } else {
 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 }
 //2.4設置回調函數
 xhr.onreadystatechange = function () {
 //如果接受完畢 服務器發回的 響應報文
 if (xhr.readyState == 4) {
 //判斷狀態碼是否正常
 if (xhr.status == 200) {
 if (type.toLowerCase() == "json") {
 var ret = {};
 try {
 if (typeof JSON != "undefined") {
 ret = JSON.parse(xhr.responseText);
 } else {
 //IE8以下不支持JSON
 ret = new Function("return " + xhr.responseText)();
 }
 callback(ret);
 } catch (e) {
 console.log(e.message);
 callback(false);
 }
 } else {
 //直接返回文本
 callback(xhr.responseText);
 }
 } else {
 console.log("AJAX Status Code:" + xhr.status);
 callback(false);
 }
 }
 };
 //2.5發送(如果是post,則傳參數,否則不傳)
 xhr.send(method != "get" ? data : null);
 },
 /*3.0 直接發送Post請求*/
 doPost: function (url, data, isAyn, callback, type) {
 this.doAjax("post", url, data, isAyn, callback, type);
 },
 /*4.0 直接發送Get請求*/
 doGet: function (url, data, isAyn, callback, type) {
 this.doAjax("get", url, data, isAyn, callback, type);
 }
};

假設一個需求,后端要求傳入兩個數字n1、n2,然后返回總和。

當其中一個參數為空或者不是數字時,返回:{"status":"0", "msg":"參數有誤!"}

當正確的時候,返回:{"status":"1", "sum":"http://n1加n2的和"}

后端的代碼就不貼出來了。

前端調用:

document.getElementById("btnSubmit").onclick = function () {
 ajaxHelper.doPost("后端url", "n1=10&n2=25", true, function (ret) {
 if (!ret) { return; }
 if (ret.status != 1) {
 alert(ret.msg);
 return;
 }
 var n = ret.sum;
 var s = ret.status;
 }, "json");
};

以上這篇原生AJAX封裝的簡單實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

原生AJAX封裝的簡單實現

原生AJAX封裝的簡單實現:回歸下原生js,網上看到的AJAX封裝,遂拿來改改,不知還有何弊端,望指出! var ajaxHelper = { /*1.0 瀏覽器兼容的方式創建異步對象*/ makeXHR: function () { //聲明異步對象變量 var xmlHttp = false; //聲明 擴展 名 var xm
推薦度:
標簽: 實現 封裝 原生
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产成人精品视频一区二区不卡 | 欧美日韩大片 | 久久国语精品 | 国产成人精品一区二三区在线观看 | 国产成人亚洲综合91精品555 | 久久性| 亚洲综合无码一区二区 | 在线播放国产色视频在线 | 欧美人与性动交a欧美精品 欧美日本一道本 | 青青国产成人久久91网 | 欧美亚洲综合另类 | 亚洲永久精品一区二区三区 | 国产日韩在线观看视频网站 | 日韩一页 | 中文字幕第一页亚洲 | 亚洲第一视频网站 | 日本成本人观看免费fc2 | 日韩在线视频免费观看 | 日本一区二区三区免费观看 | 手机看片91精品一区 | 一级一黄在线观看视频免费 | 99在线视频免费 | 国产高清不卡码一区二区三区 | 99国产精品一区二区 | 一区二区三区在线免费 | 国产成人综合久久精品下载 | 美国一级大黄大色毛片视频一 | 久久精品国产一区二区三区日韩 | 中文字幕第四页 | 久久一区二区三区精品 | 日韩欧美不卡一区二区三区 | 国产精品系列在线一区 | 夜夜操夜夜爱 | 日韩视频在线免费观看 | 国产精品久久久精品三级 | 国产精品久久国产精麻豆99网站 | 国产a国产片 | 欧美日韩视频一区二区在线观看 | 国产欧美第一页 | 国模大胆一区二区三区 | 午夜操一操 |