javascript - 使用 JQuery 触发浏览器下载

标签 javascript jquery html ajax download

我的目标是让用户从我的服务器下载 PDF。 最常见的方法是简单地提供一个带有下载属性的链接,如下所示

<a href="http://mysource.pdf" download>click here</a>

这样做的问题是我无法监控下载或在完成后进行回调。浏览器会一直挂起,直到处理完请求为止,并在完成后突然弹出下载。 所以现在我正在使用 AJAX 从服务器获取 pdf 数据,并希望通过浏览器下载数据。
所以我有一些类似的东西

$.get("http://mysource.pdf", (data) ->
  #need to somehow trigger a download with this data
)

我找了好久没有结果。 任何帮助表示赞赏。谢谢!

--编辑为了澄清为什么这不是重复的,我询问的是触发数据下载,而不是本地文件。

最佳答案

$('a').click(function(event) {
    event.preventDefault();  
    $.get("http://mysource.pdf", (data) ->
      window.location.href = $(this).attr('href');
    )

});

关于javascript - 使用 JQuery 触发浏览器下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31350327/

相关文章:

javascript - 第二个div点击两次后不会返回

python - 如何使用 Web2py 在 html 中包含 python 窗口或框架?

html - 带有CSS的半圆形文本

JavaScript 类型错误 : Cannot read property 'id' of undefined

javascript - "float"到父 DIV 底部的 DIV 不起作用。 (使用 Pos : rel, Bottom 0 等)

带有新创建行的 Javascript tr click 事件(更新 css)

javascript - 最新版本的 jQuery UI selectmenu 中的 `format` 回调

javascript - 增加一个数字直到最大值

javascript - Accordion jQuery - 一次打开一个元素并关闭其他元素

html - Firebug 将 "offset"显示为包含 Margin、Border、Padding、Element 的外位移环