Всё дело во времени.
Массив объявляется и сразу доступен, пустой.
Запрос отправляете сразу.
И ожидаете результатов тут же, сразу же — вот это ошибка.
Ответ на запрос приходит не сразу, а (много) позже. Асинхронно. Обращаться к «глобальному» массиву есть смысл только после получения ответа.
Поэтому откройте
удивительный мир промисов!
Ну, или просто вызывайте отрисовку таблицы
redraw_table()
в коллбэке по успешному завершению выполнения запроса.