javascript - 下载文件时如何获取浏览器的响应?

标签 javascript jquery browser download

我想在下载开始时得到响应,我正在提交一个 HTML 表单帖子形式,并且我得到一个文件作为返回,该文件已经在 Controller 中刷新。所以服务器端没有任何响应。有没有办法让浏览器端得到响应来知道下载是否开始?

function GenerateReport() {
    debugger;
    ChangeButtonPatchView("Report", "buttonPatch", "DisabledGenerateRpt");
    $('#Action').val('Report');
    $('#btnPrintOrSaveReport').trigger('click');
    setInterval(function () {
        ChangeButtonPatchView("Report", "buttonPatch", "SCurvePercentageComplete");      
    },2000);  
}

在此代码中,提交按钮被触发。我想检查此函数中的浏览器响应

最佳答案

如果您触发常规下载,则无法单独通过 Javascript 监控下载状态。扩展程序可以使用下载 API ( Chrome/FF ) 来查询下载进度,页面可以使用 XMLHttpRequest and the onProgress event 执行相同的操作。 ,但目前没有主流浏览器能够单独使用 Javascript 查询下载进度。

如果您可以将下载卸载到服务器端脚本,那么您可以 track the download using a unique token .

关于javascript - 下载文件时如何获取浏览器的响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56426457/

相关文章:

javascript - 如何使 cors 代理服务器使用 http 基本身份验证处理 https 请求?

javascript - 100% 背景图 block ,100% 高度 div

javascript - 使用 ON 的 Jquery 航点

jquery - 如何向 jquery-ui datepicker 实例添加额外的事件处理程序?

jquery - 如何知道滚动条是否出现在浏览器中(jQuery)?

html - 将 CSS 样式的表单元素还原为默认浏览器样式

javascript - 构建当前的以类别为中心的导航

javascript - 对象中嵌套重复数组

php - 无法从 URL PHP 获取以# 开头的 ID

Javascript 支持触摸而不阻止浏览器捏合支持