Как правильно вызывать запросы?
Включайте в браузере консоль разработчика и смотрите что уходит на сервер и что оттуда возвращается.
Познакомьтесь с Promise/Deferred, чтобы не писать такую макаронину из колбековА зачем setTimeout да еще и на 30 секунд во внешней итерации?