ajax POST метод получает данные HTML - PullRequest
0 голосов
/ 03 февраля 2019

Мне не удается получить строковую переменную из сервлета через вызов 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]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...