Процесс входа в AJAX, как предупредить, если идентификатор или пароль неверны? - PullRequest
0 голосов
/ 13 июня 2018

Привет, я относительно новичок в веб-разработке.

Я использовал AJAX для обработки шага входа в систему, и я хочу, чтобы пользователь знал, какое значение вводится неверно в ID или пароле.

Например, если пользователь делает опечатку в идентификаторе, он получит предупреждение «Неверный идентификатор» (если в БД такого идентификатора нет), или если пользователь делает опечатку в пароле с действительным идентификатором,должно быть предупреждение «Неверный пароль!».

Я еще не нашел ссылку, но я ожидаю, что такой процесс может быть выполнен AJAX.Пожалуйста, дайте мне пример или ссылку.

  • обновлено

Это код впереди,

$(document).ready(function(){
$('#login').click(function(){
    $.ajax({
        url:"login.do",
        type:"post",
        data: $('#loginform').serialize(),
        dataType: "text",
        success: function(res){
            location.href="list.bo";  //Main Page
        },
        error: function(res){
            alert("Invalid ID or Password. Please check again");
        }
    })
})

})

Ниже приведен код на обороте,

    MemberBean result = dao.login(uid, pwd);
    if (result.getValidity()==1) {
        session.setAttribute("uid", uid);
        request.setAttribute("result", 1);
        forward.setRedirect(true);
        forward.setNextpath("/mypage/list.bo");
    } else if (result.getValidity()==0) {
        request.setAttribute("result", 0);
        forward.setRedirect(false);
        forward.setNextpath("/mypage/index.jsp");
    } else if (result.getValidity()==-1) {
        request.setAttribute("result", -1);
        forward.setRedirect(false);
        forward.setNextpath("/mypage/index.jsp");
    } 
    return forward;

А ниже - DAO.Поэтому я надеялся, что DAO может установить допустимость переменной (результата) в соответствии с ее результатом (будь то ID неверен или пароль неправильный). Но по какой-то причине в DAO произошла ошибка, и в настоящее время я заблокировал «else if» parts.

try {
            conn = getConnection(); 
            pstmt = conn.prepareStatement("SELECT * FROM MEMBER WHERE U_ID=? AND U_PWD=?");
            pstmt.setString(1, uid);
            pstmt.setString(2, pwd);
            result = pstmt.executeQuery();
            if (result.next()) {
                loginresult.setValidity(1);
                return loginresult;
            } 
            else if (result.getString("U_ID")==null) {
                System.out.println("dao login fail1");
                loginresult.setValidity(-1);
                return loginresult;
            } else if (result.getString("U_ID")==uid&&result.getString("U_PWD")!=pwd) {
                System.out.println("dao login fail2");
                loginresult.setValidity(0);
                return loginresult;
            } 

Ответы [ 3 ]

0 голосов
/ 13 июня 2018

Не указывайте, что не так

Это не ответит на ваш вопрос, но поможет вам решить, хотите ли вы разработать это в своем приложении.Указание того, что пользователь существует, но пароль указан неверно, может снизить эффективность безопасности вашего приложения и побудить кого-то найти пароль, зная, что у него правильное имя пользователя.

0 голосов
/ 13 июня 2018

Для отображения сообщения об ошибке для пользователя вы можете просто показать окно предупреждения начальной загрузки ( библиотека toastr ), когда ваш ответ ajax содержит сообщение об ошибке.и сбросьте форму, и это будет возможно без обновления страницы.

0 голосов
/ 13 июня 2018

Вам нужно настроить сообщение из бэкэнда и затем отобразить его в окне предупреждения

$(document).ready(function() {
  $('#loginform').submit(function(e) {
    e.preventDefault();
    $.ajax({
       type: "POST",
       url: '/class/login.php',
       data: $(this).serialize(),
       success: function(data)
       {
          if (data === 'Login') {
            window.location = '/user-page.php';
          }
          else {
            alert('Invalid Credentials');
          }
       }
   });
 });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...