我无法通过AJAX调用从servlet中获取字符串变量,我正在获取HTML数据(电子邮件和密码成功生成的jsp页面,作为responseText)。下面是使用的代码 LoginServlet代码:(doPOST)
String uname = request.getParameter("uname");
String pass = request.getParameter("pass");
HttpSession session = request.getSession(true);
session.setAttribute("uname", request.getParameter("uname"));
session.setAttribute("pass", request.getParameter("pass"));
LOGGER.info("This is Login Servlet");
LoginDao dao = new LoginDao();
Boolean a = dao.check(uname, pass);
System.out.println("hello " + a);
PrintWriter out = response.getWriter();
if(a) {
session.setAttribute("uname", uname);
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
out.write("success");
}
else {
//response.getWriter().write(urlOnFailure);
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write("Fail");
}
}
Test.jsp:
<script type="text/javascript" src="JS/jquery-3.3.1.min.js"></script>
<form id="login_form" method="post">
<table>
<tr>
<td>UserName </td>
<td> <input type="text" id="email" name="uname" autocomplete="off"> </td>
</tr>
<tr>
<td>Password </td>
<td> <input type="password" id = "password" name="pass" autocomplete="off"> </td>
<td> <a href="forgotPassword.jsp">Forgot password? </a><br> </td>
</tr>
</table>
<a href="register.jsp">New User? signUp here </a>
<input id="button1" type="button" value="Click Me" />
</form>
<a href="forgotPassword.jsp" id ="myBtn">Forgot password? </a>
<script src="./loginTest.js" charset="utf-8"> </script>
$(document).ready(function(){
$("#button1").click(function(responseText){
var email = $('#email').val();
var password = $('#password').val();
$.ajax({
async: false,
type:'POST',
url:'LoginServlet',
data: {"uname":email,"pass":password},
success:function(responseText){
//window.location = data.url;
alert(responseText);
alert('Success in JS');
/*window.location.href = "welcome.jsp";
//$(location).attr('href','welcome.jsp');
if(responseText== null){
window.location.href = "login.jsp";}*/
},
});
});
});
要求: 1)需要来自servlet的变量“ a”的值,该值指示ajax responseText中的登录是否成功。 2)基于responseText重定向到所需的JSP页面。[如果a = 1 welcome.jsp否则login.jsp]