Как это работает: ты запустил цикл, запустил ajax, а работает он асинхронно и цикл не ждёт ответа, он сразу идёт дальше, а ответы потом отработает тот колбэк, который ты в success передал.
Если все реально так и должно работать в цикле, то решение одно - async: false добавь в тот объект, который в $.ajax() передашь