【发布时间】:2018-03-11 09:20:39
【问题描述】:
我在调用 ajax 请求时遇到问题。Servlet 返回整个页面作为响应
HTML 代码
<form action="userlogin" method="POST">
User name : <input type="text" name="username" id="username"/><br/>
Password : <input type="text" name="password" id="password"/><br/>
<input type="submit" value="Login" name="submitbtn" id="submitbtn"/><br/>
<label id="failedText"></label>
</form>
JQuery 代码
$(document).ready(function () {
$("input[name='submitbtn']").click(function (e) {
e.preventDefault();
$.ajax({
url: 'userlogin',
type: 'POST',
data: $("form[action='userlogin']").serializeArray(),
success: function (responseText) {
if (responseText != 'failure')
$("form[action='userlogin']").submit();
else
$('#failedText').text('Invalid Username or password');
}
});
});
});
Serlet 代码
String username = request.getParameter("username");
String password = request.getParameter("password");
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
if (username.equals("admin") && password.equals("password")) {
path = "adminhome.html";
response.sendRedirect(path);
}else
response.getWriter().write("failure");
如果失败,它会按照我想要的方式工作,如果成功,我需要导航到管理主页,但代码会以整个页面作为响应文本进行响应。
【问题讨论】: