Javascript 单击按钮时强制下载pdf

Javascript 单击按钮时强制下载pdf,javascript,jquery,backbone.js,pdf-generation,Javascript,Jquery,Backbone.js,Pdf Generation,我有一个backbonejs视图,其中包含一个按钮,上面写着“下载pdf”。我也有可以找到pdf的url。我希望当用户点击按钮时,pdf文件被下载。可能吗 编辑:backbone.js中的我的视图代码 savendownload: function () { this.$("#saveanddownload").button('loading'); var that = this; var formData = this.fetchData(); if (formData) w

我有一个backbonejs视图,其中包含一个按钮,上面写着“下载pdf”。我也有可以找到pdf的url。我希望当用户点击按钮时,pdf文件被下载。可能吗

编辑:backbone.js中的我的视图代码

savendownload: function () {
  this.$("#saveanddownload").button('loading');

  var that = this;
  var formData = this.fetchData();
  if (formData) window.invoices.create({
    buyer: formData.buyer,
    items: formData.items,
    company: formData.company,
    action: "savendownload"
  }, {
    wait: true,
    success: function (model) {
      var data = model.toJSON();

      var filename = data.filename;
      //download code here
    }
  });
}

不要使用按钮,使用链接并将
href
属性设置为PDF文件的URL。浏览器将根据用户的浏览器首选项为您处理文件下载

<a href="your/file.pdf" />
但是用户的浏览器可能会阻止创建新窗口。您可能只想生成一个下载链接:

$('<a>Click here to download PDF</a>').attr('href', filename).appendTo(that.$el);
$('Click here download PDF').attr('href',filename).appendTo(that.$el);
并让用户单击链接启动文件下载。

使用“下载”标签

<a href="assets/pdfs/yourdocument.pdf" download>Download PDF</a>


但不适用于IE Explorer;)

可能重复:@beNerd,你应该在你的原始问题中包含这个。。。不管怎样,编辑了答案。没有银弹。这会起作用,但如果您想强制下载,响应服务器还需要将内容处置头设置为“附件”:@Ben,是的,但我认为让浏览器做出决定更有意义。这是用户在大多数情况下的期望,如果他们想自己强制下载,他们可以
将链接另存为…
<a href="assets/pdfs/yourdocument.pdf" download>Download PDF</a>