Java 异步调用问题
我在我的应用程序中面临线程问题,下面是问题的摘要Java 异步调用问题,java,javascript,jsp,Java,Javascript,Jsp,我在我的应用程序中面临线程问题,下面是问题的摘要 document.strikeoffForm.submit(); <% Thread.sleep(500)%> window.open('<%= baseURL %>/jsps/makeStrikeOffs/Print.jsp', "printStrikeoff"); :代码的根本原因 document.strikeoffForm.submit(); window.op
document.strikeoffForm.submit();
<% Thread.sleep(500)%>
window.open('<%= baseURL %>/jsps/makeStrikeOffs/Print.jsp', "printStrikeoff");
:代码的根本原因
document.strikeoffForm.submit();
window.open('<%= baseURL %>/jsps/makeStrikeOffs/Print.jsp', "printStrikeoff");
document.strikeoffForm.submit();
<% Thread.sleep(500)%>
window.open('<%= baseURL %>/jsps/makeStrikeOffs/Print.jsp', "printStrikeoff");
document.strikeoffForm.submit();
open('/jsps/makeStrikeOffs/Print.jsp',“printStrikeoff”);
它的发生是因为异步调用。问题是我这样做
document.strikeoffForm.submit();
<% Thread.sleep(500)%>
window.open('<%= baseURL %>/jsps/makeStrikeOffs/Print.jsp', "printStrikeoff");
document.strikeoffForm.submit();
<% Thread.sleep(500)%>
window.open('<%= baseURL %>/jsps/makeStrikeOffs/Print.jsp', "printStrikeoff");
document.strikeoffForm.submit();
<% Thread.sleep(500)%>
window.open('<%= baseURL %>/jsps/makeStrikeOffs/Print.jsp', "printStrikeoff");
但是在提交表单之前的一段时间,由于异步调用,2操作发生了
document.strikeoffForm.submit();
<% Thread.sleep(500)%>
window.open('<%= baseURL %>/jsps/makeStrikeOffs/Print.jsp', "printStrikeoff");
我想知道的是,第一次呼叫结束后,我如何订购物品,而不是只需要第二次呼叫窗口打开就可以了。由于此问题,窗口无法获得正确的值
document.strikeoffForm.submit();
<% Thread.sleep(500)%>
window.open('<%= baseURL %>/jsps/makeStrikeOffs/Print.jsp', "printStrikeoff");
我认为解决方案是用Ajax实现的,但我不知道该怎么做。这非常简单,只需一点点的修改。请尝试以下代码:
$.ajax({
type: 'POST',
url: 'pageToSubmitTo.jsp',
data: {
$("#idOfYourForm").serialize()
},
beforeSend:function(){
// this is where we append a loading image
},
success:function(data){
// successful request;
window.open('jsps/makeStrikeOffs/Print.jsp', "printStrikeoff");
},
error:function(){
// failed request; give feedback to user
}
});
document.strikeoffForm.submit();
<% Thread.sleep(500)%>
window.open('<%= baseURL %>/jsps/makeStrikeOffs/Print.jsp', "printStrikeoff");
为此,您必须将JQuery库添加到您的代码中。您好,非常感谢您的所有输入。
document.strikeoffForm.submit();
<% Thread.sleep(500)%>
window.open('<%= baseURL %>/jsps/makeStrikeOffs/Print.jsp', "printStrikeoff");
这可能不是正确的方法,但到目前为止,它的工作很好,所以它对我很好。。
我给出了如下解决方案:
document.strikeoffForm.submit();
<% Thread.sleep(500)%>
window.open('<%= baseURL %>/jsps/makeStrikeOffs/Print.jsp', "printStrikeoff");
document.strikeoffForm.submit();
open('/jsps/makeStrikeOffs/Print.jsp',“printStrikeoff”);
sleep()在JSP(http)中似乎很糟糕。