婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 關(guān)于二次封裝jquery ajax辦法示例詳解

關(guān)于二次封裝jquery ajax辦法示例詳解

熱門(mén)標(biāo)簽:中國(guó)地圖標(biāo)注不明確情況介紹表 電銷(xiāo)機(jī)器人 長(zhǎng)春 立陶宛地圖標(biāo)注 河間市地圖標(biāo)注app 上海企業(yè)外呼系統(tǒng)價(jià)錢(qián) 地圖標(biāo)注推銷(xiāo)坑人 大眾點(diǎn)評(píng)400電話怎么申請(qǐng) 東平縣地圖標(biāo)注app 怎樣在地圖標(biāo)注文字

前言

Ajax 的全稱是Asynchronous JavaScript and XML 異步的javaScript和XML

AJax所涉及到得技術(shù):

       1.使用CSS和XHTML來(lái)表示。

       2. 使用DOM模型來(lái)交互和動(dòng)態(tài)顯示。

       3.使用XMLHttpRequest來(lái)和服務(wù)器進(jìn)行異步通信。(核心)

       4.使用javascript來(lái)綁定和調(diào)用。

在我們前端處理數(shù)據(jù)的時(shí)候免不了要 ajax 與后臺(tái)通信, ajax 是通過(guò) XMLHttpRequest 對(duì)象與服務(wù)器進(jìn)行通信的, jquery 在 XMLHttpReaquest 的基礎(chǔ)上封裝了 $.ajax 辦法進(jìn)行通信, $.ajax 辦法實(shí)用性非常強(qiáng),又非常簡(jiǎn)單易用。 本次二次封裝 query ajax,參考 express 可以添加中間件處理數(shù)據(jù),返回 Promise(Defferd) 對(duì)象,減少回調(diào), 寫(xiě) ajax 更加簡(jiǎn)潔、優(yōu)雅。

$.ajax({
 url: url,
 data: data,
 dataType: 'json',
 type: 'get',
 success: new Function(){},
 error: new Function(){},
 .......
})

大部分的時(shí)候我們只需要傳入 url 和 data, 就可以獲取到我們想到的數(shù)據(jù)了。

痛點(diǎn)

但是在項(xiàng)目中使用 $.ajax, 它還是有一些痛點(diǎn)的

就是現(xiàn)在基本所有項(xiàng)目的 ajax 返回的數(shù)據(jù)也是進(jìn)行了二次封裝,加入了后臺(tái)在處理業(yè)務(wù)邏輯時(shí)的信息。

從返回 data, 變成 了 {code: 200, data:{}, err_msg:''}

如果每一個(gè) ajax 請(qǐng)求回來(lái)都要判斷 code 是否正確再進(jìn)行業(yè)務(wù)邏輯處理或者報(bào)錯(cuò)提醒, 整個(gè)項(xiàng)目下來(lái)也太冗余了,

$.ajax({
 url: url,
 data: data,
 success: function(data){
 if(data.code == 200) {
  dosomething()
 } else {
 alert(data.err_msg);
 }
 }
})

為了解決這個(gè)問(wèn)題,我們用一個(gè)函數(shù)再次封裝 $.ajax, 把這種正確與否判斷再處理業(yè)務(wù)邏輯或者報(bào)錯(cuò)提醒提取出來(lái)做成公共的部分。

util.ajax = function(obj, successFn){
 $.ajax({
 url: obj.url || '/interface',
 data: obj.data || {},
 dataType: obj.dataType || 'json',
 type: obj.type || 'get',
 success: function(data){
  if (data.code != 200) {
  alert(data.err_msg);
  } else {
  successFn(data.data)
  }
 },
 error: function(err){
  alert(err)
 }
 })
}

promise

util.ajax 代替 $.ajax 使用就可以減少了業(yè)務(wù)錯(cuò)誤的判斷啦。 我們?cè)賮?lái)完善下, 不使用回調(diào)的方式,使用 promise 的方式調(diào)用, 減少回調(diào),讓代碼更清晰。

util.ajax = function(obj) {
 var deferred = $.Deferred();
 $.ajax({
  url: obj.url || '/interface',
  data: obj.data || {},
  dataType: obj.dataType || 'json',
  type: obj.type || 'get',
 }).success(function (data) {
  if (data.code != 200) {
   deferred.reject(data.err_msg);
  } else {
   deferred.resolve(data.data)
  }
 }).error(function (err) {
  deferred.reject('接口出錯(cuò),請(qǐng)重試');
 })
 return deferred.fail(function (err) {
  alert(err)
 });
}


// 調(diào)用
var obj = {
 url: '/interface',
 data: {
  interface_name: 'name',
  interface_params: JSON.stringify({})
 }
};
util.ajax(obj)
 .done(function(data){
  dosomething(data)
 })

中間件

這是一個(gè)公共的辦法,但是有時(shí)候我們需要處理差異化啊, 我們參考 express 引入一個(gè)中間件來(lái)解決差異化問(wèn)題。

util.ajax = function(obj, middleware) {
 var deferred = $.Deferred();
 $.ajax({
  url: obj.url || '/interface',
  data: obj.data || {},
  dataType: obj.dataType || 'json',
  type: obj.type || 'get',
 }).success(function (data) {
  if (data.code != 200) {
   deferred.reject(data.err_msg);
  } else {
   deferred.resolve(data.data)
  }
 }).error(function (err) {
  deferred.reject('接口出錯(cuò),請(qǐng)重試');
 })

 // 添加中間件
 if(!middleware) {
  middleware = function(){};
 }
 return deferred.done(middleware).fail(function (err) {
  message({
   content: err,
   type: 'error',
   showLeftIcon: true,
   duration: 5000
  });
 });
}

// 調(diào)用
// 調(diào)用
var obj = {
 url: '/interface',
 data: {
  interface_name: 'name',
  interface_params: JSON.stringify({})
 }
};
var middleware = function(data) {
 data.forEach(function(item){
  item.fullName = item.firstName + item.lastName
 })
}
util.ajax(obj, middleware)
 .done(function(data){
  console.log(data.fullName)
 })

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • 基于jQuery的ajax方法封裝
  • 封裝了jQuery的Ajax請(qǐng)求全局配置
  • 對(duì)Jquery中的ajax再封裝,簡(jiǎn)化操作示例
  • jQuery Ajax 全局調(diào)用封裝實(shí)例代碼詳解
  • 淺析jQuery Ajax通用js封裝

標(biāo)簽:銅川 遼寧 內(nèi)江 玉樹(shù) 本溪 營(yíng)口 益陽(yáng) 四川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于二次封裝jquery ajax辦法示例詳解》,本文關(guān)鍵詞  關(guān)于,二次,封裝,jquery,ajax,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《關(guān)于二次封裝jquery ajax辦法示例詳解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于關(guān)于二次封裝jquery ajax辦法示例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品私人影院| 亚洲一区二区三区四区在线免费观看| 岛国一区二区在线观看| 99久久99久久免费精品蜜臀| 成人高清视频免费观看| 99久久精品99国产精品| 亚洲欧美激情小说另类| 欧美国产一区视频在线观看| 亚洲国产精品综合小说图片区| 亚洲欧洲精品一区二区精品久久久| 欧美韩国日本不卡| 日韩欧美一区二区久久婷婷| 56国语精品自产拍在线观看| 精品国产一二三| 中文字幕欧美激情一区| 亚洲欧洲制服丝袜| 成人污视频在线观看| **性色生活片久久毛片| 国产人成一区二区三区影院| 国产精品久久久久久久岛一牛影视 | 欧美一区二区三区四区在线观看| 欧美男同性恋视频网站| 国产亚洲精久久久久久| 一区二区三区在线免费| 久久精品国产免费| 久久久91精品国产一区二区三区| 亚洲欧洲另类国产综合| 国产一区二区在线看| 欧美丝袜丝交足nylons图片| 国产精品天干天干在线综合| 国产精品人成在线观看免费| 亚洲午夜久久久久久久久电影院| 色综合久久综合网欧美综合网 | 精品福利av导航| 国产精品电影院| 日本不卡一二三| 久久午夜色播影院免费高清| 亚洲影院久久精品| 97成人超碰视| 久久精品夜夜夜夜久久| 日本成人中文字幕| 欧美日韩高清在线播放| 亚洲一区在线看| 欧美伊人久久久久久久久影院 | 高清在线成人网| 欧美日韩在线播放一区| 欧美一区二区免费| 亚洲三级免费观看| 东方欧美亚洲色图在线| 国产精品欧美久久久久无广告| 有坂深雪av一区二区精品| 日韩一区二区三区观看| 色一情一乱一乱一91av| 激情国产一区二区| 亚洲一区二区三区在线播放| 国产精品电影院| 亚洲国产成人午夜在线一区| 欧美日韩高清一区二区不卡| 亚洲国产精品成人综合色在线婷婷| 狠狠色丁香久久婷婷综合_中| 欧美日韩你懂的| 亚洲国产精品尤物yw在线观看| 91麻豆国产福利在线观看| 亚洲精品在线一区二区| 麻豆一区二区三| 亚洲精品第1页| 久久久蜜桃精品| 在线不卡中文字幕播放| 日韩一区二区三区观看| 中文字幕精品一区二区三区精品 | 亚洲香肠在线观看| 五月天欧美精品| 午夜伦欧美伦电影理论片| 久久99久久精品欧美| 国产乱人伦精品一区二区在线观看| 3d成人动漫网站| 91视频你懂的| av欧美精品.com| av男人天堂一区| 国产suv一区二区三区88区| 天天色综合天天| 亚洲gay无套男同| 9i在线看片成人免费| 日韩激情中文字幕| 亚洲精品国产a| 国产精品自拍毛片| 天堂影院一区二区| 亚洲男人的天堂在线观看| 精品剧情在线观看| 日韩欧美成人一区| 日本高清不卡视频| eeuss国产一区二区三区| 成人激情综合网站| 欧美一区二区三区啪啪| 亚洲免费高清视频在线| 黄色日韩三级电影| 日韩免费视频线观看| 亚洲一区二区欧美| 亚洲动漫第一页| 不卡的av中国片| 69堂精品视频| 亚洲成av人片一区二区梦乃| 99国产精品久久久久久久久久| 国产日韩av一区| 91在线你懂得| 中文字幕一区二区三区视频| 亚洲一二三四久久| 91一区二区在线观看| 国产清纯在线一区二区www| 欧美日韩精品欧美日韩精品| 国产精品网站在线观看| 亚洲成人资源在线| 成人动漫中文字幕| 精品三级在线观看| 日本亚洲免费观看| 久久久久久97三级| 成人午夜碰碰视频| 日韩av中文字幕一区二区 | 奇米综合一区二区三区精品视频| 成人99免费视频| 国产美女一区二区| 国产人久久人人人人爽| 国产精品一区二区男女羞羞无遮挡| 国产精品色一区二区三区| 色婷婷久久99综合精品jk白丝 | 久久精品夜夜夜夜久久| 成人综合婷婷国产精品久久蜜臀| 欧美xingq一区二区| 视频一区在线视频| 欧美国产丝袜视频| 欧美精品一区二区久久婷婷| 日韩欧美精品三级| 日韩精品最新网址| 国产高清精品网站| 2022国产精品视频| 国产亚洲人成网站| 久久综合视频网| 欧美午夜寂寞影院| 日韩精彩视频在线观看| 久久综合狠狠综合久久综合88 | 波多野结衣亚洲一区| 美女视频网站黄色亚洲| 亚洲欧美日韩中文播放| 欧美videossexotv100| 色综合久久综合网97色综合 | 精品成人在线观看| 成人午夜激情影院| 国产在线一区观看| 日本亚洲视频在线| 美女免费视频一区二区| 亚洲高清在线视频| 国产精品人妖ts系列视频| 欧美成人精品二区三区99精品| 丰满少妇久久久久久久| 日韩精品乱码免费| 国内精品国产成人国产三级粉色| 蜜臀av一区二区在线观看| 中文在线免费一区三区高中清不卡| 欧美视频一区二区| 欧美一级二级三级蜜桃| 欧美亚洲综合在线| 91麻豆精品在线观看| 国产一区二区三区香蕉| 亚洲激情在线激情| 亚洲高清在线精品| 国产精品久久久久7777按摩| 日韩美女一区二区三区| 九色|91porny| 国产麻豆精品视频| 国产最新精品精品你懂的| 免费成人美女在线观看.| 老司机精品视频一区二区三区| 亚洲欧美另类久久久精品2019| 日韩一区二区电影| 国产日产亚洲精品系列| 中文字幕av不卡| 综合亚洲深深色噜噜狠狠网站| av电影天堂一区二区在线观看| 紧缚奴在线一区二区三区| 亚洲成人午夜电影| 精品少妇一区二区| 亚洲综合自拍偷拍| 蜜臀久久99精品久久久久宅男| 国产一区在线看| 日韩精品国产欧美| 亚洲国产一区二区在线播放| 福利视频网站一区二区三区| 91色porny| 色成人在线视频| 欧美精选在线播放| 久久综合成人精品亚洲另类欧美| 日韩精品欧美精品| 欧美肥妇free| 亚洲18女电影在线观看| 成人小视频在线| 成人听书哪个软件好| 欧美日韩午夜影院| 亚洲一区二区在线免费看| 毛片av一区二区| 一本色道久久综合狠狠躁的推荐|