使用jQuery中的when實現(xiàn)多個AJAX請求對應(yīng)單個回調(diào)的例子分享
我知道這些函數(shù)都是異步執(zhí)行(asyncronously)并且會延遲一段時間返回,所以我想知道是否有一種方式,使我可以使用單個回調(diào),并行地加載它們,就像JS加載器 curljs 所做的那樣。 很幸運! 通過jQuery.when, 我可以并發(fā)地加載兩個請求,只執(zhí)行一次回調(diào)!
jQuery 腳本
正如我提到的,下面是加載腳本和一個JSON資源的用例:
$.when(
$.getScript('/media/js/wiki-min.js?build=21eb633'),
$.getJSON('https://developer.mozilla.org/en-US/demos/feeds/json/featured/')
).then(function(a, b) { // 或者也可以使用 ".done"
// Yay, 加載完成,此處我們可以執(zhí)行一些依賴操作。。。
});
當(dāng)資源加載完成, 指定的 done 或者 then 回調(diào)會觸發(fā),因此可以知道請求已經(jīng)完成。 每個請求返回的回調(diào)參數(shù)對象類型不同,因此上述請求可能返回如下信息:
// 格式: [response, state, jqxhr], [response, state, jqxhr]
["(function(c){var e=c(".from-search-navigate");if(e…;if(j){g.apply(m,l)}}}})(window,document,jQuery);", "success", Object]
[Array[15], "success", Object]
如果還需要增加一個傳統(tǒng)的AJAX XHR請求,比如說一個小部件模板,我們可以這樣做:
$.when(
$.getScript('/media/js/wiki-min.js?build=21eb633'),
$.getJSON('https://developer.mozilla.org/en-US/demos/feeds/json/featured/'),
$.get('/')
).then(function(a, b, c) {
console.log(a, b, c);
});
Dojo Toolkit很早就有此類功能了,但jQuery也可以這么做我還是相當(dāng)振奮的。 對于現(xiàn)在的開發(fā),多個不同步且返回先后順序也不確定的請求共享同一個回調(diào)是很自然的需求,所以jQuery絕對是與時俱進(jìn)的!
- jQuery Ajax Post 回調(diào)函數(shù)不執(zhí)行問題的解決方法
- Jquery版本導(dǎo)致Ajax不執(zhí)行success回調(diào)函數(shù)
- jquery ajax的success回調(diào)函數(shù)中實現(xiàn)按鈕置灰倒計時
- jQuery Tips 為AJAX回調(diào)函數(shù)傳遞額外參數(shù)的方法
- jQuery AJAX回調(diào)函數(shù)this指向問題
- jquery中的ajax如何返回結(jié)果而非回調(diào)方式即為同順序執(zhí)行
- jquery ajax 向后臺傳遞數(shù)組參數(shù)示例
- Jquery中ajax方法data參數(shù)的用法小結(jié)
- 淺析jQuery Ajax請求參數(shù)和返回數(shù)據(jù)的處理
- jQuery實現(xiàn)ajax回調(diào)函數(shù)帶入?yún)?shù)的方法示例
相關(guān)文章
Jquery的Tabs內(nèi)容輪換效果實現(xiàn)代碼,幾行搞定
本篇文章主要是對Jquery的Tabs內(nèi)容輪換效果的實現(xiàn)代碼進(jìn)行了介紹。幾行代碼輕松搞定2014-02-02jquery控制頁面的展開和隱藏實現(xiàn)方法(推薦)
下面小編就為大家?guī)硪黄猨query控制頁面的展開和隱藏實現(xiàn)方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10jquery.form.js框架實現(xiàn)文件上傳功能案例解析(springmvc)
這篇文章主要為大家詳細(xì)介紹了jquery.form.js/springmvc文件上傳功能的實現(xiàn)步驟,使用的技術(shù)有jquery.form.js框架,以及springmvc框架,具有實用價值,感興趣的小伙伴們可以參考一下2016-05-05淺析jquery數(shù)組刪除指定元素的方法:grep()
下面小編就為大家?guī)硪黄獪\析jquery數(shù)組刪除指定元素的方法:grep()。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05jquery對象和javascript對象即DOM對象相互轉(zhuǎn)換
對于已經(jīng)是一個 DOM 對象,只需要用 $() 把DOM對象包裝起來,就可以獲得一個 jQuery 對象了,使用[index]和.get(index)可以轉(zhuǎn)為DOM對象2014-08-08