Indicate Loading In Browser When Downloading File
在我们的Web应用程序中,我们有大量的附件,一些是静态的(来自DB)和一些动态的(生成的),一些生成的文件需要很长时间(
下载,用户有时会点击。 一旦文件实际提供给浏览器,有没有显示和隐藏加载器?
我已经在stackoverflow上查找了类似的问题,但是没有一个有用的答案:例如。
这是一个可行的问题,还是我应该尝试提高文件生成的速度?
为此,您可以使用此社区的以下帖子: -
JavaScript / jQuery通过POST使用JSON数据下载文件
使用我先提到的javascript post方法。
希望这最终能回答你的问题。:)
您无需再次加载页面。 只需使用一些javascript操作来调用ajax调用即可。:)
1 2 3 4 5 6 7 8 9 | $('#submitPage').show(); var url ="urlUsed"; $.post(url, $("#formName").serialize() , function(responseValue){ $('#submitPage').hide(); }); |
如果不是这样,您可以将ajax调用更改为: -
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function functionName(){ ajaxRequest = createXMLHttpRequest(); var url ="urlUsed"; $('#submitPage').show(); ajaxRequest.open('get', url , true); ajaxRequest.onreadystatechange = processAjaxResponseForMethodName; ajaxRequest.send(null); } function processAjaxResponseForMethodName(){ if(ajaxRequest.readyState == 4) { $('#submitPage').hide(); } } |
您可以使用ajax代码进行表单提交。 当服务器处理请求时,在页面顶部显示带有加载图标的div。
在jsp中写下面的代码。
1 | <img src="/images/loading.gif" alt="">Submitting order... |
最初使用此代码隐藏它
1 | $('#submitPage').hide(); |
然后点击你的提交按钮就可以了。
1 | $('#submitPage').show(); |
当ajax响应到来时再次隐藏它。
希望它能解决你的问题。
问候,
盥洗室