我正在使用Struts ajax调用来在JSP中显示数据
<sx:a id="testReport" formId="testform" targets="testdiv">
此请求需要很长时间。如果有一种方法可以显示加载图像或模糊屏幕,直到Struts AJAX请求完成,那么有人可以帮助我。
答案 0 :(得分:2)
您尚未显示您的ajax通话
假设ajax调用应该是这样的,你可以尝试:
在发出ajax请求之前显示图像,并在Ajax调用完成后隐藏它
$('#loading-image').show();
$.ajax({
url: uri,
success: function(html){
// Code here after success
},
complete: function(){
$('#loading-image').hide();
}
});
您还可以在图片后面显示模态Div ,以便用户在进行Ajax调用时无法与页面进行交互:
<div id="myModal" class="modal">
</div>
css
用于模态div
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
padding-top: 100px; /* Location of the box */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}
BTW:这是通过使用 jQuery和css 而不是 struts 问题来完成的
<强>更新强>:
好的,您正在使用struts-dojo plugin
看看这个然后
您正在寻找 indicator
属性,我想是这样的:
<img id="loadingImage" src="images/loadingAnimation.gif" style="display:none"/>
<sx:a id="testReport" formId="testform" targets="testdiv" showLoadingText="false" indicator="loadingImage">
此链接可以帮助您AjaxandJavaScriptRecipes-Showindicatorwhilerequestisinprogress