つまり、mysql データベースにロードするいくつかの csv ファイルを含む JavaScript 配列があり、データベースへのファイルのアップロードを処理する php ページに ajax () 呼び出しを行うスクリプトを作成しました。クライアント側には、データベースにロードされた各ファイルとともに移動する進行状況バーがあります。「async: false」を使用すると、すべて問題なく動作しますが、ブラウザーがブロックされてしまい、これは望ましくありません。アップロードされた各ファイルに ptogressbar が対応できるようにコードを構成できる人はいますか?
<button id="loadfiles"class="btn"><span>Start Loading</span><span style="display: none">Stop Loading</span></button>
<script>
$(document).ready(function(){
var strFiles = 'SC2RFFBCRMEPOSAPP20131022.csv|SC2RFFBDEALERSORO20131022.csv|SC2ROFUOR00_ESHOP20131026.csv|SC2ROFUOR00_ESHOP20131027.csv|SC2ROFUOR00_ESHOP20131028.csv|SC2RFSFCRMEPOSAPP20131022.csv|SC2RFSFDEALERSORO20131022.csv|SC2ROSFWEBSHOPAPP20131022.csv|SC2RFRPCRMEPOSAPP20131022.csv|SC2RFRPDEALERSORO20131022.csv|SC2RORPOR00_ESHOP20131022.csv|SC2RORPWEBSHOPAPP20131022.csv|Active_range_20131022.csv|Active_range_20131023.csv|Active_range_20131024.csv|SC2ROZBOR00_SLRM_20131019(1).csv|SC2ROZBOR00_SLRM_20131019.csv' ;
var arrFiles = strFiles.split('|');
var strFileType = {Full:5,Scope:3,Proposal:4,ActiveRange:3,ForceValue:2} ;
var pragcycle = 0;
var step = 0 ;
var increment = 0;
var i=0
$("#loadfiles").click(function(){
for (key in strFileType)
{
step = 100 / strFileType[key];
pragcycle = pragcycle + strFileType[key];
increment = 0;
for (i;i<pragcycle;i++)
{
var request = $.ajax({
url:'/quickadmin/php/admin/pages/AppLoadCSV.php',
async: false,
data: "basename=" + arrFiles[i] ,
success:function() {
increment = increment + step;
$("." + key).attr("style","width: " + increment + "%");
}
})
}
}
});
});
</script>