Вы не можете вернуть вещи из асинхронных функций. Функция, которая вызывает $.ajax()
, возвращается сразу после вызова - (почти) всегда до того, как ответ будет получен.
Делайте все, что вам нужно, с ответом в обратном вызове success
.
PS: Добавьте dataType: 'json'
к вашим аргументам ajax и используйте json.status
- нет необходимости выполнять анализ самостоятельно.
Кроме того, используйте консоль Firebug, чтобы проверить, что вы на самом деле получаете от сервера (alert()
это , а не отладчик)