[ajax] Отправка данных формы
От: Funny Rabbit Россия  
Дата: 13.11.18 14:58
Оценка:
Есть простой скрипт, но он не работает. Почему?

<script>
            function loadMessage(v_web_id)
            {
                v_login = document.getElementById('id_login').value; 
                v_password = document.getElementById('id_password').value;
                
                result = 0;
                $.ajax({
                    type: "POST",
                    url: "login_user.php",
                    cache: false,
                    datatype: "text",
                    data: "web_id=" + v_web_id + "&login=" + v_login + "&password=" + v_password,
                    success: function(msg) 
                    {
                        result = msg;
                        alert(msg);
                    },
                    error: function(msg) 
                    { // Данные не отправлены
                        alert(msg);
                    }
                });
                alert(result);
                
                v_message = document.getElementById('message');
                v_login_form = document.getElementById('login_form');
                v_exit_form = document.getElementById('exit_form');

                if(result == 1)
                {
                    v_message.innerText = 'Проверка успешная. Все ок.';
                    v_login_form.style.display = "none";
                    v_exit_form.style.display = "none";                    }
                if(result == 2)
                {
                    v_message.innerText = 'Для учетной записи ' + v_login + ' указан неправильный пароль';
                    }
                if(result == 3)
                {
                    v_message.innerText = 'Учетная запись ' + v_login + ' не существует';
                    }
                
                return false;
            }
        </script>
То что меня не убивает, делает меня умнее.
Re: [ajax] Отправка данных формы
От: Funny Rabbit Россия  
Дата: 13.11.18 16:23
Оценка:
Здравствуйте, Funny Rabbit, Вы писали:
Отрабатывает только часть error. Почему не понятно, лично мне.
То что меня не убивает, делает меня умнее.
Re[2]: [ajax] Отправка данных формы
От: stomsky Россия  
Дата: 14.11.18 05:13
Оценка: 10 (2) +1
Здравствуйте, Funny Rabbit, Вы писали:

FR>Здравствуйте, Funny Rabbit, Вы писали:

FR>Отрабатывает только часть error. Почему не понятно, лично мне.
А ты уверен, что не отрабатывает обработчик события "success", описанный в этом фрагменте?
success: function(msg) 
{
    result = msg;
    alert(msg);
}

Я не силен в JavaScript'е, но сдается мне, что у тебя фрагмент, выделенный в листинге ниже жирным, возвращает "0":
result = 0;
$.ajax({
    ....
});
alert(result); // <-- вот здесь выводится "0" ? 
...

Если я прав, то все отрабатывает корректно.
Другой вопрос, что ты, скорее всего, ожидаешь другого поведения (не нулевого результата)?
Вообще попробуй ради интереса к if-ам добавить еще такой:
if(result == 0) {
    v_message.innerText = 'На момент выполнения этого кода AJAX-запрос еще не отработал ;)';
}

Может быть это сообщение и выведется?
Красота — наивысшая степень целесообразности. (c) И. Ефремов
Отредактировано 14.11.2018 5:19 stomsky . Предыдущая версия . Еще …
Отредактировано 14.11.2018 5:15 stomsky . Предыдущая версия .
Отредактировано 14.11.2018 5:15 stomsky . Предыдущая версия .
Отредактировано 14.11.2018 5:14 stomsky . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.