Вам нужно переписать ваш код так что бы returnJSON был внутри .done(function(data){ ТУТ retrun data; })…
По тому что ваш return происходит раньше чем сервер возвращает данные, по скольку вы запрашиваете данные с сервера асинхронно.
В данный момент, есть более новые технологи, например: websocket и Long polling.
Websocket однозначно будет работать быстрее и как по мне даже интереснее чем простой ajax с таймаутами.