Делаю мультиаплоад файлов с прогресс баром для каждого файла.
Использую вот такой код:
global_upload_id = 1;
$.each(files, function(i, file) {
var fd = new FormData();
fd.append('action', 'AddPhoto');
fd.append('upload_id', global_upload_id);
fd.append('photo', file);
$.ajax({
type: 'POST',
url: '/api/api.php',
data: fd,
processData: false,
contentType: false,
dataType: "json",
success: function(response) {
console.log('success upload_id'+response['upload_id']);
},
error: function(response) {
console.log('error upload_id'+response['upload_id']);
},
xhr: function() {
var xhr = $.ajaxSettings.xhr();
xhr.upload.addEventListener("progress", function(evt, ui) {
if (evt.lengthComputable) {
var percentComplete = 100 * (evt.loaded / evt.total);
console.log(percentComplete);
}
}, false);
return xhr;
},
});
global_upload_id+=1;
}
Как в xhr: function() - получить значение upload_id, чтобы я мог узнать для каждого запроса текущий процент загрузки?
p.s: пробовал добавлять:
context: {somevar:global_upload_id}
не работает