Мне не удается получить строковую переменную из сервлета через вызов AJAX, я получаю данные 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) Требуется значение переменной 'a' из сервлета, которая сообщает, что вход выполнен успешно или нет в ajax responseText.2) На основе перенаправления responseText на требуемые страницы JSP. [Если a = 1 welcome.jsp else login.jsp]