今天用jquery.fileupload.js插件作文件批量上傳功能;jquery
批量上傳實現的效果是有 總進度條,和每一個文件上傳有分進度條;ajax
經過配置 fileupload的 各種事件響應函數,能夠改變 插件默認的 行爲;異步
start、add、done、abort 等事件,是fileupload 的主要事件;async
批量上傳時,採用一個循環,批量循環把全部文件 ajax到後臺;函數
方式1:異步請求:插件
由於ajax採用的是異步請求,因此,在異步請下,會把循環 代碼先執行完,纔會去執行每一個文件發送到後臺的異步請求;事件
方式2:同步請求:同步
可是若是,一旦把ajax 設置爲了同步請求,那麼 循環代碼 須要就是 每次循環傳遞一個請求到後臺。文件上傳
方式1 和2,這二者相差是很是大的。後臺
今天,一不當心在其餘地方 設置過 $.ajaxSettings .async = false;
忘記設置回來,致使,循環代碼採用了同步請求,達不到 總進度條和 分進度條同時顯示的效果;還排查了好久。
特別記錄一下,這個馬失前蹄的 教訓。