Такой компонент называется ajax progress bar - для гугления.
Суть в том, что у ajax запроса есть ивент "progress", в параметрах которого приходят:
- значение полного размера ответа (event.total)
- и значение какая часть загруженна на текущий момент (event.loaded).
Эти два значения - всё что нужно, чтобы рисовать текущий прогресс
Пример реализации: