【问题标题】:How to stop/hide jquery spinner after downloads completes?下载完成后如何停止/隐藏 jquery spinner?
【发布时间】:2019-06-29 14:20:09
【问题描述】:

在我的程序中,当用户单击提交按钮(提交按钮在 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();

【问题讨论】:

  • 你不能,除非你 ajax 到服务器并查看文件是否创建成功
  • @mplungjan 请您建议我如何使用我的代码实现 ajax。我是这个领域的新手。
  • @mplungjan 我会看看资源。谢谢!

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


【解决方案1】:

@Saroj- 单击下载时,您编写一个 javascript 函数并对 servlet 进行 ajax 调用或 http-service 调用。从 servlet 获得成功响应(200)后,将标志置于消失微调器。

【讨论】:

【解决方案2】:

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

【讨论】:

  • 感谢您的建议。我试试这个,看看是否有帮助。
  • 这真的是评论,而不是答案。多一点代表,you will be able to post comments.
  • 我知道,但我现在还能做什么?
  • 微调器如何知道响应? OP 提交的表单没有反馈到它所在的页面
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-17
  • 2019-04-23
  • 1970-01-01
  • 2013-01-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多