Функция ошибки всегда вызывается из-за ошибки в самом запросе (например, страница 404 на стороне клиента не найдена или служба 503 на стороне сервера недоступна).
Я подозреваю, что хитрый URL.
Попробуйте создать переменную URL вне вызова Ajax (var theLink = "check/" + $("#person_id").val()
). Проверьте это в отладчике или с console.log, чтобы подтвердить это. Убедитесь, что URL действительно доступен. Затем в вашем Ajax-вызове передайте «theLink» параметру url.
Все еще не работает? Некоторые дополнительные вопросы:
Имеет ли #person_id атрибут value или является элементом, который вы должны использовать .html () или .text () вместо .val (), чтобы получить свое "значение"?
Имя «person_id» в целом звучит для меня как элемент многократного использования. То есть. не видя остальную часть вашего приложения, я могу представить, что есть несколько человек. В таком случае, вы уверены, что идентификатор используется правильно? Должен ли это быть класс вместо этого? В общем, вы выбираете ожидаемый элемент?
Каталог "проверяет" один уровень по глубине от текущей страницы, или он должен исходить из корня?
Кроме того, JSON отправляется с соответствующей кодировкой? Как выглядит ответ?
Что сообщает консоль JavaScript? Если нет ошибок, как выглядит «ответ» на GET? Доступна ли вкладка JSON (которая подтверждает, что она принята как JSON).
На карту поставлено так много переменных ... живой пример был бы замечательным. ; -)