今天用jquery.fileupload.js插件作文件批量上传功能;jquery
批量上传实现的效果是有 总进度条,和每一个文件上传有分进度条;ajax
经过配置 fileupload的 各种事件响应函数,能够改变 插件默认的 行为;异步
start、add、done、abort 等事件,是fileupload 的主要事件;async
批量上传时,采用一个循环,批量循环把全部文件 ajax到后台;函数
方式1:异步请求:插件
由于ajax采用的是异步请求,因此,在异步请下,会把循环 代码先执行完,才会去执行每一个文件发送到后台的异步请求;事件
方式2:同步请求:同步
可是若是,一旦把ajax 设置为了同步请求,那么 循环代码 须要就是 每次循环传递一个请求到后台。文件上传
方式1 和2,这二者相差是很是大的。后台
今天,一不当心在其余地方 设置过 $.ajaxSettings .async = false;
忘记设置回来,致使,循环代码采用了同步请求,达不到 总进度条和 分进度条同时显示的效果;还排查了好久。
特别记录一下,这个马失前蹄的 教训。