亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

詳解二次封裝jquery ajax的示例

2024-09-01 08:30:21
字體:
來源:轉載
供稿:網友

在Web開發中,由于Ajax是本地刷新,因此后端的重定向是無效的,并且后端的權限控制需要Ajax頁面的同步才能生效,下面是錯新技術頻道小編詳解二次封裝jquery ajax的示例,一起進入下文了解一下吧!

前言

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

AJax所涉及到得技術:

?????? 1.使用CSS和XHTML來表示。

?????? 2. 使用DOM模型來交互和動態顯示。

?????? 3.使用XMLHttpRequest來和服務器進行異步通信。(核心)

?????? 4.使用javascript來綁定和調用。

在我們前端處理數據的時候免不了要 ajax 與后臺通信, ajax 是通過 XMLHttpRequest 對象與服務器進行通信的, jquery 在 XMLHttpReaquest 的基礎上封裝了 $.ajax 辦法進行通信, $.ajax 辦法實用性非常強,又非常簡單易用。 本次二次封裝 query ajax,參考 express 可以添加中間件處理數據,返回 Promise(Defferd) 對象,減少回調, 寫 ajax 更加簡潔、優雅。

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

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

痛點

但是在項目中使用 $.ajax, 它還是有一些痛點的

就是現在基本所有項目的 ajax 返回的數據也是進行了二次封裝,加入了后臺在處理業務邏輯時的信息。

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

如果每一個 ajax 請求回來都要判斷 code 是否正確再進行業務邏輯處理或者報錯提醒, 整個項目下來也太冗余了,

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

為了解決這個問題,我們用一個函數再次封裝 $.ajax, 把這種正確與否判斷再處理業務邏輯或者報錯提醒提取出來做成公共的部分。

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 使用就可以減少了業務錯誤的判斷啦。 我們再來完善下, 不使用回調的方式,使用 promise 的方式調用, 減少回調,讓代碼更清晰。

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('接口出錯,請重試'); }) return deferred.fail(function (err) {  alert(err) });}// 調用var obj = { url: '/interface', data: {  interface_name: 'name',  interface_params: JSON.stringify({}) }};util.ajax(obj) .done(function(data){  dosomething(data) })

中間件

這是一個公共的辦法,但是有時候我們需要處理差異化啊, 我們參考 express 引入一個中間件來解決差異化問題。

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('接口出錯,請重試'); }) // 添加中間件 if(!middleware) {  middleware = function(){}; } return deferred.done(middleware).fail(function (err) {  message({   content: err,   type: 'error',   showLeftIcon: true,   duration: 5000  }); });}// 調用// 調用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) })

總結

以上是本文介紹的詳解二次封裝jquery ajax的示例內容,希望本文的內容能對大家的學習和工作有所幫助。如果您有任何問題,可以留言和交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩美女av在线免费观看| 91高潮在线观看| 亚洲网在线观看| 日韩亚洲成人av在线| 欧美夫妻性生活视频| 欧美日韩国产精品一区二区不卡中文| 国产欧美日韩高清| 热99精品里视频精品| 日韩电影大全免费观看2023年上| 欧美黑人一区二区三区| 国产精品自产拍在线观看| 精品久久久久久中文字幕大豆网| 日本在线观看天堂男亚洲| 亚洲最大成人免费视频| 98精品在线视频| 久久久精品国产一区二区| 精品国产一区久久久| 日韩av电影国产| 日韩在线视频免费观看高清中文| 孩xxxx性bbbb欧美| 岛国av在线不卡| 亚洲精品一区二区久| 欧美一区第一页| 26uuu亚洲国产精品| 国产日韩中文字幕在线| 日韩在线观看你懂的| 欧美中文字幕在线视频| 中文国产亚洲喷潮| 国色天香2019中文字幕在线观看| 日韩精品中文字幕在线| 福利一区福利二区微拍刺激| 国产网站欧美日韩免费精品在线观看| 日韩经典一区二区三区| 日本久久91av| 亚洲人成在线免费观看| 自拍亚洲一区欧美另类| 亚洲精品成人久久久| www.亚洲天堂| 亚洲精品视频免费在线观看| 国产精品久久久亚洲| 亚洲国产成人在线播放| 在线日韩日本国产亚洲| 日韩精品高清在线| 91在线播放国产| 精品久久久久久电影| 国产日产久久高清欧美一区| 欧美高清视频在线播放| 午夜精品福利视频| 久久露脸国产精品| 欧美日韩在线视频一区二区| 国产视频精品自拍| 久热精品视频在线免费观看| 少妇精69xxtheporn| 亚洲欧美国产日韩天堂区| 成人疯狂猛交xxx| 中文字幕成人在线| 91干在线观看| 中文字幕日韩精品有码视频| 91久久久久久久久久久久久| 夜夜狂射影院欧美极品| 国产精品久久久久久久一区探花| 精品性高朝久久久久久久| 国产日韩欧美在线播放| 久久亚洲精品中文字幕冲田杏梨| 97热在线精品视频在线观看| 久久成人在线视频| 成人黄色午夜影院| 欧美日韩在线观看视频小说| 欧美日韩精品在线观看| 视频在线观看99| 中文在线不卡视频| 久久九九免费视频| 成人乱人伦精品视频在线观看| 欧美日韩精品中文字幕| 久久中文字幕视频| 亚洲精品videossex少妇| 精品小视频在线| 日韩欧美高清视频| 77777亚洲午夜久久多人| 欧美黑人极品猛少妇色xxxxx| 九九热这里只有在线精品视| 国产精品老女人精品视频| 国产精品极品尤物在线观看| 久久免费高清视频| 亚洲国产精品va在线看黑人动漫| 亚洲欧美日韩网| 狠狠综合久久av一区二区小说| 精品视频在线播放| 国产欧美日韩免费看aⅴ视频| 国产亚洲精品一区二555| 91免费看国产| 亚洲曰本av电影| 91精品国产九九九久久久亚洲| 欧美性受xxxx黑人猛交| 欧美大片免费观看在线观看网站推荐| 亚洲国产中文字幕在线观看| 91在线色戒在线| 亚洲欧美在线免费| 91欧美激情另类亚洲| 亚洲天堂第一页| 欧美性xxxx在线播放| 在线丨暗呦小u女国产精品| 欧美激情欧美狂野欧美精品| 久久伊人精品天天| www国产亚洲精品久久网站| 91精品国产91久久久久久不卡| 国产一区二区久久精品| 欧美午夜www高清视频| 亚洲欧美在线免费观看| 亚洲国产另类久久精品| 国产精品美女主播在线观看纯欲| 欧美激情国产精品| 91深夜福利视频| 日韩在线观看精品| 成年人精品视频| 隔壁老王国产在线精品| 成人h视频在线观看播放| 亚洲欧美日韩精品久久奇米色影视| 91精品视频免费观看| 国产日韩精品一区二区| 日韩激情片免费| 午夜伦理精品一区| 精品国产91乱高清在线观看| 久久影院资源网| 亚洲国产古装精品网站| 不卡av电影在线观看| 日韩av观看网址| 精品福利在线观看| 日韩av电影手机在线| 在线色欧美三级视频| 精品露脸国产偷人在视频| 亚洲精品免费一区二区三区| 中文字幕欧美在线| 欧美极品美女视频网站在线观看免费| 91免费观看网站| 欧美日韩国产精品一区二区三区四区| 成人黄色网免费| 久久久久久18| 成人在线免费观看视视频| 欧美日韩人人澡狠狠躁视频| 91精品久久久久久久| 欧美国产亚洲精品久久久8v| 亚洲精品美女网站| 国产日韩在线精品av| 国产亚洲欧美aaaa| 亚洲欧美中文字幕| 国产99久久精品一区二区| 欧美激情亚洲一区| 亚洲女性裸体视频| 亚洲一区中文字幕在线观看| 日韩精品久久久久| 亚洲黄页网在线观看| 日本aⅴ大伊香蕉精品视频| 亚洲一区二区三区sesese| 狠狠干狠狠久久| 亚洲精品日韩久久久| 国产成人久久久精品一区| 欧美另类极品videosbestfree| 亚洲欧美在线第一页| 91视频免费网站| 国产91成人video| 日韩成人av一区| 精品日本美女福利在线观看| 亚洲精品一区av在线播放|