Задать вопрос
Konstantin18ko
@Konstantin18ko
Стоматолог

Почему возвращает параметр null, а цикл выполняет по другому сценарию?

Есть цикл и функция:
if (checkDoctor() !== null) {
            var doctor = $("#doctor").val();
            alert(doctor);
        } else {
            $("#doctor_result").append("Введите Фамилию доктора и выберите из списка справа");
        }

function checkDoctor() {
            $.ajax({
                async: false,
                url: "../php/check_doctor.php",
                type: 'POST',
                data: {doctor: $("#doctor").val()},
                success: function (data) {
                    var data = jQuery.parseJSON(data);
                    if (data.doctor !== null) {
                        alert('doc');
                        return data.doctor;
                    } else {
                        alert('null');
                        return null;
                    }
                }
            });
        }


Почему функция checkDoctor возвращает null, а цикл исполняет условие !== null?
  • Вопрос задан
  • 76 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Bobert88
@Bobert88
Vice President of Javascript, very important guy.
На самом деле checkDoctor() возвращает undefined, потому что в теле функции нет return;

 Попробуйте так:
function checkDoctor() {
            var doctor;
            $.ajax({
                async: false,
                url: "../php/check_doctor.php",
                type: 'POST',
                data: {doctor: $("#doctor").val()},
                success: function (data) {
                    var data = jQuery.parseJSON(data);
                    if (data.doctor !== null) {
                        alert('doc');
                        doctor = data.doctor;
                    } else {
                        alert('null');
                        doctor = null;
                    }
                }
            });
            return doctor;
        }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы