javascript
ajax加载对应的json,jQuery:多个AJAX/JSON请求对应单个回调并行加载
因?yàn)槲覀兪褂胘Query,這意味著需要調(diào)用?jQuery.getScript?和 jQuery.getJSON 函數(shù)。 我知道這些函數(shù)都是異步執(zhí)行(asyncronously)并且會(huì)延遲一段時(shí)間返回,所以我想知道是否有一種方式,使我可以使用單個(gè)回調(diào),并行地加載它們,就像JS加載器?curljs?所做的那樣。 很幸運(yùn)! 通過jQuery.when, 我可以并發(fā)地加載兩個(gè)請(qǐng)求,只執(zhí)行一次回調(diào)!
jQuery 腳本
正如我提到的,下面是加載腳本和一個(gè)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)會(huì)觸發(fā),因此可以知道請(qǐng)求已經(jīng)完成。 每個(gè)請(qǐng)求返回的回調(diào)參數(shù)對(duì)象類型不同,因此上述請(qǐng)求可能返回如下信息:
// 格式: [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]
如果還需要增加一個(gè)傳統(tǒng)的AJAX XHR請(qǐng)求,比如說一個(gè)小部件模板,我們可以這樣做:
$.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)振奮的。 對(duì)于現(xiàn)在的開發(fā),多個(gè)不同步且返回先后順序也不確定的請(qǐng)求共享同一個(gè)回調(diào)是很自然的需求,所以jQuery絕對(duì)是與時(shí)俱進(jìn)的!
jQuery:多個(gè)AJAX/JSON請(qǐng)求對(duì)應(yīng)單個(gè)回調(diào)
原文鏈接:jQuery: Multiple AJAX and JSON Requests, One Callback 原文日期: 2014年4月15日 翻譯日期: 2014年4月22日 翻譯人員: 鐵 ...
jQuery:多個(gè)AJAX/JSON請(qǐng)求相應(yīng)單個(gè)回調(diào)
原文鏈接:jQuery: Multiple AJAX and JSON Requests, One Callback 原文日期: 2014年4月15日 翻譯日期: 2014年4月22日 翻譯人員: 鐵 ...
jquery+html三級(jí)聯(lián)動(dòng)下拉框及詳情頁面加載時(shí)的select初始化問題
html寫的三個(gè)下拉框,如下:
玩轉(zhuǎn)Web之Json(二)----jquery easy ui + Ajax +Json+SQL實(shí)現(xiàn)前后臺(tái)數(shù)據(jù)交互
最近在學(xué)Json,在網(wǎng)上也找過一些資料,覺得有點(diǎn)亂,在這里,我以easy ui的登錄界面為例來說一下怎樣用Json實(shí)現(xiàn)前后臺(tái)的數(shù)據(jù)交互 使用Json,首先需要導(dǎo)入一些jar包,這些資源可以在網(wǎng)上下載到 ...
jQuery加載外部文件的方式get、post、ajax、load的區(qū)別及異步加載的實(shí)現(xiàn)
一.$.post(url, [data], [callback], [type])? url (String) : 發(fā)送請(qǐng)求的URL地址. data (Map) : (可選) 要發(fā)送給服務(wù)器的數(shù)據(jù),以 ...
使用 jQuery Ajax 在頁面滾動(dòng)時(shí)從服務(wù)器加載數(shù)據(jù)
簡(jiǎn)介 文本將演示怎么在滾動(dòng)滾動(dòng)條時(shí)從服務(wù)器端下載數(shù)據(jù).用AJAX技術(shù)從服務(wù)器端加載數(shù)據(jù)有助于改善任何web應(yīng)用的性能表現(xiàn),因?yàn)樵诖蜷_頁面時(shí),只有一屏的數(shù)據(jù)從服務(wù)器端加載了,需要更多的數(shù)據(jù)時(shí),可以隨著用 ...
將jquery和公共樣式緩存到localStorage,可以減少Http請(qǐng)求,從而優(yōu)化頁面加載時(shí)間
以下代碼: //入口函數(shù) if (window.localStorage) { initJs(); initCss("css", "/gfdzp201508257998/ ...
jQuery+ajax實(shí)現(xiàn)滾動(dòng)到頁面底部自動(dòng)加載圖文列表效果
.0" en ...
常用SQL語句集合
一.數(shù)據(jù)定義?1.創(chuàng)建新數(shù)據(jù)庫:CREATE DATABASE database_name2.創(chuàng)建新表:CREATE TABLE table_name (column_name datatype,co ...
洛谷 P3953 逛公園
題目鏈接 思路 首先沒有0邊,且k為0的情況就是最短路計(jì)數(shù). 如果k不為0,看到k<=50,想到dp. 設(shè)f[u][i]表示到達(dá)u點(diǎn)比最短路多走i的路徑數(shù),轉(zhuǎn)移到v點(diǎn). f[u][i]+=f[v ...
Ubuntu16.04下通過tar.gz包安裝MySQL5.5.52
1.下載? tar.gz包 :?https://dev.mysql.com/downloads/mysql/ 2. // 安裝依賴 sudo apt-get install libaio-dev // ...
Django中使用django_debug_toolbar
一 概述 django_debug_toolbar 是django的第三方工具包,給django擴(kuò)展了調(diào)試功能.?包括查看執(zhí)行的sql語句,db查詢次數(shù),request,headers,調(diào)試概覽等. ...
JDK 之 Java Bean 內(nèi)省機(jī)制
JDK 之 Java Bean 內(nèi)省機(jī)制 JDK 規(guī)范目錄(https://www.cnblogs.com/binarylei/p/10200503.html) JavaBean 是一種特殊的 Jav ...
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎(jiǎng)!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的ajax加载对应的json,jQuery:多个AJAX/JSON请求对应单个回调并行加载的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql and 优化_MySQL 优
- 下一篇: jquery php联动,jQuery结