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