Jquery.Ajax Отправка формы

231
11 декабря 2017, 14:45

Добрый день. Подскажите пожалуйста как при успешной проверке формы (data.result == true) выполнить action формы(перейти на страницу), а при ошибке (data.result == false) оставить человека на странице с сообщением об ошибке.

$("#reg").submit(function() {
        $.ajax({
            url: "check.php",
            type: "POST",
            data: ({ login: $("#login").val(), password: $("#password").val() }),
            dataType: "json",
            success: function (data) {
                if(data.result == true) {
                    $(".information").text('Auth is succesfull');
                    } else if(data.result == false) {
                    $(".information").text(data.error_msg);
                }
            }
        }); 
        return false;
    })
Answer 1

Это можно сделать так, с помощью window.location.href.

$("#reg").submit(function() { 
    $.ajax({ 
        url: "check.php", 
        type: "POST", 
        data: ({ login: $("#login").val(), password: $("#password").val() }), 
        dataType: "json", 
        success: function (data) { 
            if(data.result == true) { 
              //Здесь перенаправляем на какой то url вот так 
              window.location.href = 'Здесь какой то url' 
                //$(".information").text('Auth is succesfull'); 
            } else if(data.result == false) { 
              //Ну а тут какое то оповещение на ваш вкус 
                $(".information").text(data.error_msg); 
            } 
        } 
    });  
    return false; 
});

Answer 2

я хочу сделать чтобы если логин или пароль был неверен ...

А Вы не узнаете верен он или нет, пока не отправите форму.

Вот тут уже ajax пригодиться. Делается это примерно так: 1. Посылаем форму через ajax (можно сначала проверить, что поля не пустые). 2. Получаем ответ сервера. Разбираем его. Может достаточно кода состояния, может надо в текст залезать. Как вариант-проверять cookie в ответе на предмет наличия session id или чего-то такого. 3. Если авторизация прошла - переходим куда надо. 4. Если не прошла -

В общем-то код выше должен работать, только надо как-то иначе обрабатывать ответ сервера (а может и так сойдет - смотреть надо).

READ ALSO
Не срабатывает jQuery при проверке

Не срабатывает jQuery при проверке

Не срабатывает jQuery , проверяю запросом в body

276
Кнопка смены языка сайта на HTML5

Кнопка смены языка сайта на HTML5

Всем привет! Знаю что тема уже "заезженная", но все же! Есть лендинг на русском, сейчас пытаюсь верстать кнопку для перехода на английский и польский...

204
Как использовать Enter вместо Кнопок в одной форме

Как использовать Enter вместо Кнопок в одной форме

Добрый вечер всемКак использовать Enter вместо нажатия Кнопок в одной форме (кнопки пусть остаются также)

214