Javascript Ajax不工作。当servlet出现错误时,它会重定向到另一个页面,并显示错误消息
在success内部,它将检查servlet是否返回错误。如果它返回错误,那么 它应该这样做。但实际上,它是重定向到另一个页面并在那里打印错误 Servlet代码:Javascript Ajax不工作。当servlet出现错误时,它会重定向到另一个页面,并显示错误消息,javascript,ajax,jsp,servlets,Javascript,Ajax,Jsp,Servlets,在success内部,它将检查servlet是否返回错误。如果它返回错误,那么 它应该这样做。但实际上,它是重定向到另一个页面并在那里打印错误 Servlet代码: $(document).ready(function() { $("#formotp").on("submit", function(event) { event.preventDefault(); $("#formotp&qu
$(document).ready(function() {
$("#formotp").on("submit", function(event) {
event.preventDefault();
$("#formotp").hide();
$("#spinregister").show();
var f = $(this).serialize();
$.ajax({
url : "OtpRegistrationSrevlet",
type : 'POST',
data : f,
success : function(data, textStatus, jqXHR) {
$("#spinregister").hide();
$("#errordivreg").load(location.href + " #errordivreg");
if (data.trim() === 'error') {
$("#formotp").show();
} else {
window.location = "Home.jsp";
}
},
error : function(jqXHR, textStatus, errorThrown) {
$("#formotp").show();
$("#spinregister").hide();
}
});
});
});
}
我在这里面临问题。无论何时otp不正确,它都会导致打印错误。在ajax中,它会检查接收到的数据是否等于错误,然后它会再次显示表单,但我会将此错误打印在新的空白页上
data
中有什么?“error”-我从servlet else发送的消息阻塞。您是否alert(data)
并检查其值是否正确?我觉得你的代码还可以
$(document).ready(function() {
$("#formotp").on("submit", function(event) {
event.preventDefault();
$("#formotp").hide();
$("#spinregister").show();
var f = $(this).serialize();
$.ajax({
url : "OtpRegistrationSrevlet",
type : 'POST',
data : f,
success : function(data, textStatus, jqXHR) {
$("#spinregister").hide();
$("#errordivreg").load(location.href + " #errordivreg");
if (data.trim() === 'error') {
$("#formotp").show();
} else {
window.location = "Home.jsp";
}
},
error : function(jqXHR, textStatus, errorThrown) {
$("#formotp").show();
$("#spinregister").hide();
}
});
});
});
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
HttpSession s = request.getSession();
int otp = (Integer) s.getAttribute("userotp");
int enteredOtp = Integer.parseInt((request.getParameter("otp").trim()));
if (otp == enteredOtp) {
} else {
out.println("error");// error message
return;
}