Jquery 如何从servlet调用javascript函数?
我向Servlet a提交一个(jsp)表单。然后我处理一些逻辑,这些逻辑将使提交成功或失败。在执行Servlet逻辑后,我使用jquery的ajaxForm()函数将用户重新定向到不同的jsp。但是在这个重定向发生之前,我需要显示一个javascript通知,显示提交是否成功。有人能告诉我怎么做吗 使用Jquery 如何从servlet调用javascript函数?,jquery,jsp,servlets,Jquery,Jsp,Servlets,我向Servlet a提交一个(jsp)表单。然后我处理一些逻辑,这些逻辑将使提交成功或失败。在执行Servlet逻辑后,我使用jquery的ajaxForm()函数将用户重新定向到不同的jsp。但是在这个重定向发生之前,我需要显示一个javascript通知,显示提交是否成功。有人能告诉我怎么做吗 使用success回调处理程序。每当servlet返回响应时,就会调用它。您可以作为回调处理程序中的第一个参数访问返回的响应。最简单的方法是让servlet返回响应,以便您可以将其作为JavaScr
success
回调处理程序。每当servlet返回响应时,就会调用它。您可以作为回调处理程序中的第一个参数访问返回的响应。最简单的方法是让servlet返回响应,以便您可以将其作为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 }");
}
谢谢你的回答。但我需要的和这个稍有不同。如果后端操作失败,我想显示另一条消息。(失败是指用户错误)有什么想法吗?我试过了,它完全符合我的要求。下次再向你道谢!您是否考虑过将响应存储在用户的服务器端会话中,让servlet重定向到新JSP,并让新页面将响应显示为其正常内容的一部分?如果您要发出重定向并进行页面刷新(因此AJAX的使用是没有意义的),那么当您可以在下一页上刷新警报时,为什么要强制用户单击警报框或其他什么?只有我的0.02美元。