XMLHttpRequest, мне же надо было процесс отслеживать. С $.post не получилось бы
Итог таков:
$(document).ready(function(){
$('#upload a').click(function(e){
$(this).parent().find('input[type="file"]').click();
e.preventDefault();
});
$('#upload input[type="file"]').change(function() {
uploadFile(this.files);
$(this).val('');
});
var files_mas = new Array();
var maxSize = 1000000000000000; //max размер файла
var server = $('#upload').attr('action');
var file_server = $('#upload input[type="file"]').attr('name'); //имя пост запроса
function uploadFile(files) {
$.each(files, function(index, file) {
if (file.size < maxSize) {
files_mas.push(file);
$('#status').append('<div class="progress progress-striped active" id="'+files_mas.length+'"><div class="progress-bar" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 0%"><span class="sr-only">45% Complete</span></div></div><div class="status"></div>');
}
else
{
alert('Слишком большой файл');
}
});
}
function add_s(i, k) {
if(files_mas.length == 0) { alert('Все загрузки завершены!'); $('#upload input[type="submit"]').show();}
var form = new FormData(); // Создаем объект формы.
form.append('upload', files_mas[i]);
var dm = i + 1;
if(files_mas[i]) {
$.ajax({
url: 'upload.php',
type: 'post',
dataType: 'text',
data: form,
cache: false,
contentType: false,
processData: false,
forceSync: false,
xhr: function(){
var req = $.ajaxSettings.xhr();
if(req.upload){
req.upload.addEventListener('progress', function(event) {
var percent = 0;
var position = event.loaded || event.position;
var total = event.total || e.totalSize;
if(event.lengthComputable){
percent = Math.ceil(position / total * 100);
}
$('#'+k+'> div').attr('style', 'width: '+percent+'%').text(percent+'%');
}, false);
}
return req;
},
success: function (data, message, xhr){
//alert('ФАЙЛ | ' + files_mas[i].name + ' | УСПЕШНО ЗАГРУЖЕН!!!');
$('#'+k).remove();
add_s(0, ++k);
files_mas.splice(i, 1);
}
});
}
}
$('#upload').submit(function(e) {
e.preventDefault();
if(files_mas.length != 0) {
$('#upload input[type="submit"]').hide();
add_s(0, 1);
}
});
});