下载完成后如何停止/隐藏jQuery Spinner?

时间:2019-06-29 14:20:09

标签: java jquery jsp servlets jquery-ui-spinner

在我的程序中,当用户单击“提交”按钮(“提交”按钮位于jsp文件中)时,将显示jquery微调框。同时将请求发送到Java Servlet。 Servlet处理请求,创建excel文件并下载该文件。

但是下载完成后,我想隐藏jQuery微调器。我该怎么办?

这是我的代码: 以下是我的JSP(html)代码部分:

  <tr>
    <td>
    <br /> 
    <br /> 
    <input type="submit" value="Search" name="action" /> 
    <input type="hidden" id="download_token_value_id" />
    <input type="submit" value="Download" name="action" class="spinner" /> // When user clicks Download buttons the jquery spinner appears      
    </td>
</tr>


<center>

    <div id="fontSpinner" style="color: blue; display: none;" class="fa fa-spinner fa-pulse fa-3x fa-fw">
    </div>
</center>

下面是脚本:

   <script>

    $('.spinner').click(function() {
        $("#fontSpinner").css("display", "block");
        }); 
</script>

下面是创建并下载excel文件的Java servlet

 response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Disposition", "attachment; filename=\"" + excelFileName + "\"");
....
....
.... // code that creates a excel file
....
....

ServletOutputStream out = response.getOutputStream();
workbook.write(out);

workbook.close();               
out.flush();
out.close();

2 个答案:

答案 0 :(得分:1)

@ Saroj-在单击“下载”时,您将编写一个javascript函数并向servlet进行ajax调用或http-service调用。一旦您从Servlet获得成功响应(200),请放置标志以消失微调器。

答案 1 :(得分:0)

您可以在响应的标题中返回状态代码200,并且基本上在前台收到200代码时,您将微调器的display属性设置为none。您还应该考虑在发生错误时将其设置为none,并进行适当的错误处理。