Otóż tworzę pewny moduł gdzie dane, które się długo generują były cashowane (tzn. po pierwszym jego uruchomieniu zostały zapisane do pliku i przy kolejnych uruchomieniach wygenerowane dane będą pochodzić z pliku). Utworzyłem coś takiego:
for(var i= 1; i<= users.length; ++i) { $.ajax({ url: 'przeloguj.php', async: false, data: { id: users[i-1] } }).done(function() { $.ajax({ url: 'tabelka_z_danymi.php', async: false }).done(function() { if(i!= users.length) { $('#postep').text((i+1) + '/' + users.length); $('#postep').css('background-size', (1/users.length) * 100 + '% 100%'); } else { $('#postep').text('cashowanie zostało ukończone'); $('#postep').css('background-size', '100% 100%'); } }).fail(function() { alert('niestety wystąpił błąd przy cashowaniu !'); }); }).fail(function() { alert('niestety wystąpił błąd przy cashowaniu !'); }); }
Tablica users zawiera id uzytkowników. W każdej pętli następuje przelogowanie użytkownika (dokładnie zmiana sesji), a następnie ajaxem utworzenie danych wg obecnie zalogowanego użytkownika. Obecny mechanizm działa (w folderze można jedno po drugim zobaczyć jak generują się pliki) problem w tym, że strona się cały czas ładuje nie pokazując treści, a dopiero po wygenerowaniu wszystkich plików ukazuje się z pełnym paskiem, gdzie wszystko jest już ukończone. Co zrobić, aby dane pokazywały mi się na żywo

Wyłączyłem tryb asychroniczny (async: false) - strona się wtedy nie ładuje, ale nie wiem czemu generuje mi się tylko jeden plik - po za tym powoduje to, że odpalają się wszystkie ajaxy na raz przez co nie mogę wygenerować postępu działania.
Dobra rozwiązałem sam ten problem.
Ajax poszedł nie w pętli jako for tylko w pętli rekurencyjnie, gdzie rekurencyjnie funkcja wywoływała się w zdarzeniu done.