Из-за асинхронного характера по умолчанию $.get()
ваш цикл for продолжает выполняться, а ваша переменная i переназначается.
Быстрый способ исправить это - установить async: false
на $.get()
, что по существу не позволит циклу for продолжить выполнение до тех пор, пока не завершится $.get()
, то есть значение i
не изменится в процессе.
Следует подчеркнуть, однако, что это предотвратит выполнение всех сценариев на странице до завершения цикла for, потенциально блокируя ваших пользователей от выполнения других действий в течение продолжительного периода времени.