嗨,我是网络开发的新手。
我已经使用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;
}
https://stackoverflow.com/questions/50839048
复制相似问题