嗨,我是网络开发的新手。
我已经使用AJAX处理了登录步骤,我想要做的是让用户知道在ID或Password中输入了错误的值。
例如,如果用户在ID中输入了错误的ID,他将得到一个警告"Wrong ID“(如果数据库中没有这样的ID),或者如果用户在具有有效ID的Password中输入了错误,应该会有一个警告"Wrong Password!”。
我还没有找到参考资料,但我希望这个过程可以通过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可以根据结果设置变量( result )的有效性(无论是ID错误还是password错误),但由于某些原因,DAO出现错误,我目前阻止了'else if‘部分。
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;
}
发布于 2018-06-13 22:00:42
您需要从后台查看自定义消息,然后将其显示在警告框中
$(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');
}
}
});
});
});
发布于 2018-06-13 22:00:45
这不能回答您的问题,但可以帮助您决定是否要将其开发到应用程序中。指定用户存在,但密码是错误的,可能会降低应用程序安全性的有效性,并激励用户在知道自己的用户名正确的情况下找到密码。
发布于 2018-06-13 22:10:50
为了向用户显示错误消息,当响应包含错误消息时,您可以简单地显示一个引导警告框( ajax toastr库)。并重置表单,无需刷新页面即可实现。
https://stackoverflow.com/questions/50839048
复制相似问题