我将一个(jsp)表单提交给Servlet A.然后我处理一些逻辑,这会使提交成功或失败。我使用jquery的ajaxForm()函数在执行Servlet逻辑后将用户重定向到不同的jsp。但在此重定向发生之前,我需要显示一个javascript通知,显示提交是否成功。有人能告诉我怎么能这样做?
答案 0 :(得分:2)
使用success
回调处理程序。只要servlet返回响应,就会调用它。您可以在回调处理程序中将返回的响应作为第一个参数进行访问。最简单的方法是让servlet返回JSON响应,以便您可以将其作为JavaScript对象访问:
$('#formId').ajaxForm({
dataType: 'json',
success: function(response, status, xhr) {
if (response.error) {
alert('Something failed: ' + response.error);
} else {
alert('Submit was successful.');
window.location = 'newpage.jsp';
}
}
});
在servlet中,您需要返回如下的响应:
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
if (submit was not successful) {
response.getWriter().write("{ error: '" + message + "' }");
} else {
response.getWriter().write("{ error: false }");
}