Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何从servlet调用javascript函数?_Jquery_Jsp_Servlets - Fatal编程技术网

Jquery 如何从servlet调用javascript函数?

Jquery 如何从servlet调用javascript函数?,jquery,jsp,servlets,Jquery,Jsp,Servlets,我向Servlet a提交一个(jsp)表单。然后我处理一些逻辑,这些逻辑将使提交成功或失败。在执行Servlet逻辑后,我使用jquery的ajaxForm()函数将用户重新定向到不同的jsp。但是在这个重定向发生之前,我需要显示一个javascript通知,显示提交是否成功。有人能告诉我怎么做吗 使用success回调处理程序。每当servlet返回响应时,就会调用它。您可以作为回调处理程序中的第一个参数访问返回的响应。最简单的方法是让servlet返回响应,以便您可以将其作为JavaScr

我向Servlet a提交一个(jsp)表单。然后我处理一些逻辑,这些逻辑将使提交成功或失败。在执行Servlet逻辑后,我使用jquery的ajaxForm()函数将用户重新定向到不同的jsp。但是在这个重定向发生之前,我需要显示一个javascript通知,显示提交是否成功。有人能告诉我怎么做吗

使用
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美元。