亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 多ajax請求的各類解決方案(同步, 隊列, cancel請求)

多ajax請求的各類解決方案(同步, 隊列, cancel請求)

熱門標簽:如何用地圖標注各分公司 信貸電銷機器人有用嗎 電銷機器人適用范圍 察縣地圖標注 接聽電話機器人哪有 莆田防封電銷卡價格 廣西ai語音電銷機器人哪家好 蓄意標記地圖標注 辦理一個400電話多少錢
•多個ajax請求同時發(fā)送,相互無依賴。
•多個ajax請求相互依賴,必須有先后順序。
•多個請求被同時發(fā)送,只需要最后一個請求。
第1種case
應用場景: 這個場景很多,一個頁面打開是多個區(qū)域同時請求后臺得到各自的數(shù)據(jù),沒依賴,沒順序。
處理方案: 直接用jquery的ajax函數(shù)。這個用的非常多,這里從略,可看后面的代碼中例子。
第2種case
應用場景: 多個ajax請求,需要順序執(zhí)行,后一個ajax請求的執(zhí)行參數(shù)是前一個ajax的結果。例如: 用戶登錄后我們發(fā)送一次請求得到用戶的應用ID,然后利用應用ID發(fā)送一次請求得到具體的應用內容(例子雖然不是太恰當,但基本就是這個意思了)。
處理方法:
1. 利用ajax參數(shù)async設置為false,進行同步操作。(這個方法只適合同域操作,跨域需使用下面兩種方法)
2. 利用ajax嵌套(這個同第1種情況)
3. 利用隊列進行操作
jquery ajax隊列操作核心代碼:
復制代碼 代碼如下:

(function ($) {
var ajaxRequest = {};
$.ajaxQueue = function (settings) {
var options = $.extend({ className: 'DEFEARTNAME' }, $.ajaxSettings, settings);
var _complete = options.complete;
$.extend(options, {
complete: function () {
if (_complete)
_complete.apply(this, arguments);
if ($(document).queue(options.className).length > 0) {
$(document).dequeue(options.className);
} else {
ajaxRequest[options.className] = false;
}
}
});
$(document).queue(options.className, function () {
$.ajax(options);
});
if ($(document).queue(options.className).length == 1 !ajaxRequest[options.className]) {
ajaxRequest[options.className] = true;
$(document).dequeue(options.className);
}
};
})(jQuery);

第3中case
應用場景: 比較典型的是autocomplete控件的操作,這個我們可以使用第2種情況的處理方法,但我們可能只需要最后次按鍵后返回的結果,這樣利用第2種處理方法未免有些浪費。
處理方法: 保留最后一次請求,cancel之前的請求。
復制代碼 代碼如下:

(function ($) {
var jqXhr = {};
$.ajaxSingle = function (settings) {
var options = $.extend({ className: 'DEFEARTNAME' }, $.ajaxSettings, settings);
if (jqXhr[options.className]) {
jqXhr[options.className].abort();
}
jqXhr[options.className] = $.ajax(options);
};
})(jQuery);

對于這些case都是在多個ajax請求,響應時間不能控制的情況。下面是完整Demo代碼。
復制代碼 代碼如下:

(function ($) {
var jqXhr = {},
ajaxRequest = {};
$.ajaxQueue = function (settings) {
var options = $.extend({ className: 'DEFEARTNAME' }, $.ajaxSettings, settings);
var _complete = options.complete;
$.extend(options, {
complete: function () {
if (_complete)
_complete.apply(this, arguments);
if ($(document).queue(options.className).length > 0) {
$(document).dequeue(options.className);
} else {
ajaxRequest[options.className] = false;
}
}
});
$(document).queue(options.className, function () {
$.ajax(options);
});
if ($(document).queue(options.className).length == 1 !ajaxRequest[options.className]) {
ajaxRequest[options.className] = true;
$(document).dequeue(options.className);
}
};
$.ajaxSingle = function (settings) {
var options = $.extend({ className: 'DEFEARTNAME' }, $.ajaxSettings, settings);
if (jqXhr[options.className]) {
jqXhr[options.className].abort();
}
jqXhr[options.className] = $.ajax(options);
};
})(jQuery);
var ajaxSleep = (function () {
var _settings = {
type: 'GET',
cache: false,
success: function (msg) {
var thtml = $('#txtContainer').html();
$('#txtContainer').html(thtml + "br />" + msg);
}
};
return {
get: function (seconds, mode, isAsync) {
var mode = mode || 'ajax',
isAsync = isAsync || false;
$[mode]($.extend(_settings, {
url: "ResponsePage.aspx?second=" + seconds,
async: isAsync,
className: 'GET'
}));
},
post: function (seconds, mode, isAsync) {
var mode = mode || 'ajax',
isAsync = isAsync || false;
$[mode]($.extend(_settings, {
type: 'POST',
url: "PostPage.aspx",
data: { second: seconds },
async: isAsync,
className: 'POST'
}));
}
};
} ());
var launch = function (settings) {
$('#txtContainer').html('');
var mode = settings.mode,
isAsync = settings.isAsync;
ajaxSleep.get(12, mode, isAsync);
ajaxSleep.get(10, mode, isAsync);
ajaxSleep.get(8, mode, isAsync);
ajaxSleep.post(6, mode, isAsync);
ajaxSleep.post(4, mode, isAsync);
ajaxSleep.post(2, mode, isAsync);
}
$(document).ready(function () {
//第1種case
$('#btnLaunchAsync').click(function () {
launch({ isAsync: true });
});
//第2種case
$('#btnLaunchSync').click(function () {
launch({});
});
//第2種case
$('#btnLaunchQueue').click(function () {
launch({ mode: 'ajaxQueue', isAsync: true });
});
//第3種case
$('#btnLaunchSingle').click(function () {
launch({ mode: 'ajaxSingle', isAsync: true });
});
});

default.html
復制代碼 代碼如下:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head id="Head1" runat="server">
title>/title>
script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript">/script>
script type="text/javascript" src="js/default.js">/script>
/head>
body>
form id="form1" runat="server">
input type="button" id="btnLaunchAsync" value="Launch Asynchronous Request" />
input type="button" id="btnLaunchSync" value="Launch Synchronous Request" />
input type="button" id="btnLaunchQueue" value="Launch Requested Queue" />
input type="button" id="btnLaunchSingle" value="Launch Single Request" />
div id="txtContainer">/div>
/form>
/body>
/html>

PostPage.aspx ResponsePage.aspx
復制代碼 代碼如下:

//ResponsePage.aspx
protected void Page_Load(object sender, EventArgs e)
{
int seconds = int.Parse(Request.QueryString["second"]);
Thread.Sleep(seconds*1000);
Response.Write("GET: selpt for "+ seconds.ToString() +" sec(s)");
}
//PostPage.aspx
protected void Page_Load(object sender, EventArgs e)
{
int seconds = int.Parse(Request.Form["second"]);
Thread.Sleep(seconds * 1000);
Response.Write("POST: selpt for " + seconds.ToString() + " sec(s)");
}

后注: 個人能力有限,如有錯誤敬請指點。這些只是些根據(jù)一些特定情況下的處理,如果一個ajax請求能解決的問題切勿利用兩個請求來處理,畢竟需要占用資源。我還是相信沒有最好的方案,只有最適合的方案。
您可能感興趣的文章:
  • 淺析ajax請求json數(shù)據(jù)并用js解析(示例分析)
  • Ajax請求中的異步與同步,需要注意的地方說明
  • AJAX跨域請求json數(shù)據(jù)的實現(xiàn)方法
  • Ajax請求內嵌套Ajax請求示例代碼
  • 如何將ajax請求返回的Json格式數(shù)據(jù)循環(huán)輸出成table形式
  • Ajax請求在數(shù)據(jù)量大的時候出現(xiàn)超時的解決方法
  • ajax請求亂碼的解決方法(中文亂碼)
  • ajax請求成功后新開窗口window.open()被攔截解決方法
  • ajax 同步請求和異步請求的差異分析
  • 在實戰(zhàn)中可能碰到的幾種ajax請求方法詳解

標簽:鷹潭 延邊 張掖 銅陵 儋州 益陽 平涼 阿拉善盟

巨人網(wǎng)絡通訊聲明:本文標題《多ajax請求的各類解決方案(同步, 隊列, cancel請求)》,本文關鍵詞  多,ajax,請求,的,各類,解決方案,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《多ajax請求的各類解決方案(同步, 隊列, cancel請求)》相關的同類信息!
  • 本頁收集關于多ajax請求的各類解決方案(同步, 隊列, cancel請求)的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    四虎影视久久久| 四虎久久精品国产| 成人免费福利片在线观看| 日本免费乱人伦在线观看| 欧美激情一区二区三区视频 | 成人a级高清视频在线观看| 欧美激情影院| 一级毛片视频免费| 国产原创视频在线| 一本伊大人香蕉高清在线观看| 999精品影视在线观看| 美女免费毛片| 一级女性大黄生活片免费| 中文字幕一区二区三区 精品| 国产欧美精品| 精品国产一区二区三区精东影业| 精品久久久久久影院免费| 在线观看成人网| 成人在免费观看视频国产| 成人高清免费| 999精品视频在线| 精品久久久久久中文| 欧美日本免费| 韩国毛片基地| 青青久热| 日韩免费在线视频| 国产成人精品综合| 一本伊大人香蕉高清在线观看| 久久精品免视看国产明星| 欧美国产日韩久久久| 国产伦理精品| 日韩字幕在线| 国产一级强片在线观看| 99热视热频这里只有精品| 日韩免费在线| 精品国产亚洲一区二区三区| 欧美另类videosbestsex高清| 亚洲精品影院久久久久久| 天天做人人爱夜夜爽2020毛片| 欧美一区二区三区性| 亚洲www美色| 一级毛片视频播放| 国产不卡精品一区二区三区| 国产91精品一区| 日韩免费片| 日本特黄特黄aaaaa大片| 精品久久久久久影院免费| 国产视频一区二区在线观看| 在线观看成人网| 国产一区二区精品久久91| 精品国产一级毛片| 国产成人精品一区二区视频| 香蕉视频久久| 日韩免费片| 国产成人精品综合| 精品久久久久久中文字幕2017| 精品国产一级毛片| 国产一区二区精品在线观看| 成人av在线播放| 高清一级片| 国产亚洲精品aaa大片| 欧美18性精品| 亚飞与亚基在线观看| 久久国产一区二区| 日本免费看视频| 日本伦理网站| 日韩中文字幕在线观看视频| 欧美激情一区二区三区在线| 成人a级高清视频在线观看| 91麻豆爱豆果冻天美星空| 亚飞与亚基在线观看| 国产91精品一区| 国产极品白嫩美女在线观看看| 免费国产一级特黄aa大片在线| 午夜在线影院| 国产视频一区二区在线播放| 91麻豆精品国产片在线观看| 欧美日本二区| 国产成人欧美一区二区三区的| 欧美激情影院| 天天色成人网| 久久精品人人做人人爽97| 国产一区二区精品在线观看| 精品视频在线观看一区二区| 成人影院一区二区三区| 欧美大片aaaa一级毛片| 欧美激情一区二区三区在线播放 | 久久99中文字幕久久| 99久久精品国产免费| 日韩免费片| 尤物视频网站在线观看| 亚洲第一页色| 国产视频久久久| 国产韩国精品一区二区三区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 久久精品道一区二区三区| 成人免费观看网欧美片| 欧美a免费| 青青久热| 成人高清视频免费观看| 黄色免费三级| 欧美一级视频免费观看| 国产成人精品一区二区视频| 黄色福利片| 91麻豆精品国产片在线观看| 欧美日本免费| 99久久精品国产免费| 青青久久精品| 日韩在线观看网站| 亚欧成人乱码一区二区| 国产美女在线一区二区三区| 日日夜夜婷婷| 精品国产一区二区三区免费 | 精品视频一区二区三区免费| 久久久成人网| 免费一级片网站| 日本在线播放一区| 九九精品在线| 韩国毛片| 麻豆午夜视频| 国产一区二区福利久久| 国产成人精品综合久久久| 九九九国产| 亚洲www美色| 999精品视频在线| 久久久久久久久综合影视网| 一级女性全黄久久生活片| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 久久99中文字幕| 99久久精品国产免费| 超级乱淫伦动漫| 91麻豆爱豆果冻天美星空| 久久久成人网| 成人免费一级纶理片| 麻豆污视频| 九九九国产| 黄视频网站免费看| 久草免费在线色站| 九九久久99| 日本伦理片网站| 日韩中文字幕一区| 日韩在线观看免费| 国产不卡福利| 国产精品免费精品自在线观看| 在线观看成人网| 精品久久久久久免费影院| 久久精品道一区二区三区| 亚洲精品中文字幕久久久久久| 精品视频在线看 | 四虎影视久久久免费| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 免费国产一级特黄aa大片在线| a级精品九九九大片免费看| 国产精品自拍亚洲| 青青久久精品| 国产网站免费观看| 99久久网站| 你懂的日韩| 欧美a级片视频| 成人免费网站久久久| 亚欧成人乱码一区二区| 国产a视频精品免费观看| 天天做日日爱夜夜爽| 韩国三级一区| 国产国语在线播放视频| 亚洲精品影院一区二区| 亚洲女初尝黑人巨高清在线观看| 日韩中文字幕一区| 九九干| 成人免费高清视频| 一 级 黄 中国色 片| 欧美一级视频高清片| 二级片在线观看| 国产原创视频在线| 九九精品影院| 精品国产三级a| 午夜在线观看视频免费 成人| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品国产一区二区三区免费| 欧美a级v片不卡在线观看| 国产精品12| 99久久视频| 欧美一区二区三区性| 欧美a级v片不卡在线观看| 青青青草视频在线观看| 国产网站在线| 久久99中文字幕久久| 国产亚洲精品aaa大片| 青青青草视频在线观看| 999久久久免费精品国产牛牛| 国产不卡高清| 精品国产亚一区二区三区| 国产网站免费| 国产精品免费精品自在线观看| 日日夜夜婷婷| 日韩在线观看视频网站| 中文字幕一区二区三区精彩视频| 欧美激情一区二区三区在线播放 | 午夜激情视频在线播放| 欧美一区二区三区性|