Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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
Java 如何使用AJAX和JQuery刷新JSP而不重新加载整个页面?_Java_Jquery_Ajax_Jsp_Servlets - Fatal编程技术网

Java 如何使用AJAX和JQuery刷新JSP而不重新加载整个页面?

Java 如何使用AJAX和JQuery刷新JSP而不重新加载整个页面?,java,jquery,ajax,jsp,servlets,Java,Jquery,Ajax,Jsp,Servlets,我有一个带有JavaJSPServlet的web应用程序 在我的网页前端的右侧,我有一个列表,右侧有链接。(这是我的sidebarright.jsp) 如果我按下负号图片,弹出窗口将打开(弹出窗口也是一个名为deletelink.jsp的jsp页面)。 在弹出页面中,我有一个链接列表,我可以通过复选框选择要删除的链接 因此,如果我删除了一个链接,在数据库中它是正确的,但我必须更新与F5的startside。只有这样,我才会看到我删除了一个链接 因此,我想使用Ajax和Jquery更新链接列表(s

我有一个带有JavaJSPServlet的web应用程序

在我的网页前端的右侧,我有一个列表,右侧有链接。(这是我的sidebarright.jsp) 如果我按下负号图片,弹出窗口将打开(弹出窗口也是一个名为deletelink.jsp的jsp页面)。 在弹出页面中,我有一个链接列表,我可以通过复选框选择要删除的链接

因此,如果我删除了一个链接,在数据库中它是正确的,但我必须更新与F5的startside。只有这样,我才会看到我删除了一个链接

因此,我想使用Ajax和Jquery更新链接列表(sidebarright.jsp),而不刷新整个起始端

我的deletelink.jsp页面中删除链接的ajax和jquery部分如下:

$(document).ready(function(){
    $('#setdeletefilelink').submit(function(){

        var  id=5; 


          $.ajax({
                 url: '<%=request.getContextPath()%>/issues?action=uploaddeletelink&wherestatement='+id,              
                 type: 'POST', 
                 dataType:'json',
                 data: $('#setdeletefilelink').serialize(),
                 success: function(data){
                     alert ("success in ajax");
                     alert(data);
                     //sideBarRight.location.reload();
                    //alert("hallo");
                  //If you want to return anything in jsp.
                   },
                  error:function(xhr, ajaxOptions, thrownError){
                     alert(xhr.status);
                     alert(thrownError);

                     alert("failure");
                     $("#result").html('there is error while submit');
                 }  
                 });
    //    close();

    });


}); 
在servlet a中的操作之后,不要在ajax脚本部分的“我的成功”部分中获取repsone。我不知道为什么


另一件事是:如何刷新右侧栏jsp。

您说过弹出窗口是一个不同的文件。那么它是在iframe中打开的吗? 未调用success函数,因为表单已提交,这可能有助于:

$('#setdeletefilelink').submit(function(e){
    e.preventDefault();
一个没有动作的表单正在向自己提交,如果您尝试以下方法:

$('#setdeletefilelink').submit(function(e){
    //...Ajax call here
    e.preventDefault();
    return false;
});
否则,如果存在错误或ajax请求,您必须签入firebug

由于右侧在同一页上,当您成功工作时,应该是这样的:

success: function(data){
    //an identifire for the right side would be nice
    $("#ID_ofTheRightSide", parent.document).html(data); //depending on what you getting back...
}

您正在编写
警报(“ajax成功”)在成功中,这是否显示?不,它不显示警报窗口。它是否显示故障警报?我过去有一个错误,然后它显示故障警报。错误是没有向servlet发送任何内容。但现在它将请求发送到servlet,而现在它没有显示任何警报。无论是失败还是成功您都可能在java端中断,但是由于catch块没有转储堆栈,因此您没有看到实际的问题。即使没有帮助,也最好将e.printStackTrace()放在那里。现在它不是iframe。这是一个将被打开的jsp文件。如果我点击一个复选框,可能会删除数据库上的链接,popopwindow将关闭,但在startpage的侧栏上什么也没有发生。所以我必须按F5,然后我看到结果。但我想要的结果是不按F5Oh ofc。弹出窗口,新窗口:)好久没用了!:)还有
sidebright.jsp
,它是如何包含的?没有调用
success
error
,但仍然得到了删除的内容。在ajax甚至可以调用
success
之前,deletet非常确定提交
表单
。。。对于另一个问题,需要更多的信息。它包含在index.jsp中(因此在起始页中),并表示右侧栏
success: function(data){
    //an identifire for the right side would be nice
    $("#ID_ofTheRightSide", parent.document).html(data); //depending on what you getting back...
}