kodu aşağıdaki gibi çalışır. Firefox'ta aşağıdaki kod iyi çalışır. Yüklenen her dosyada ilerleyen ilerleme çubuğu görüntülenir, bu arada Chrome'da yalnızca işlemin sonunda ilerleme çubuğu görüntülenir. "Tamamla" düğmesine tıklarsam, işlev tamamlanana kadar donar. Sunucu cevaplar kadar sayfadan donacak async: false
kullanmaJQuery donuyor sayfasını kullanarak Chrome'da AJAX istekleri tamamlanıncaya kadar
var max = files.length + 1;
var progress_step = 0;
$.post(form.action, $(form).serialize(), function(response){
var data = jQuery.parseJSON(response);
if ("errors" in data){
//...;
}
else if ("work_id" in data){
var work_id = data.work_id;
//initial increase of progress once Work was created
progress_step = progress_step + 1;
progress(progress_step, max);
$.each(files, function(index, obj){
uploadFile(work_id, obj);
progress_step = progress_step + 1;
progress(progress_step, max);
});
}
});
...
function uploadFile (w_id, obj) {
var base64_start = obj.src.indexOf(',') + 1;
$.ajax({
type: 'POST',
url: '/works/upload_image',
data: {work_id: w_id, pic: obj.src.substr(base64_start), pic_type: obj.file.type},
processData: true,
timeout: 60000,
async: false,
dataType: 'text'
});
}
Teşekkürler @Peter işini benim için –