ajax POST方法获取“ HTML”数据

时间:2019-02-03 12:38:16

标签: jquery ajax jsp servlets

我无法通过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]

0 个答案:

没有答案