ajax请求下载excel文件

改一个页面:js新打开一个页面,页面的地址为一个get请求接口,由于传递的字符串变多,要改为post请求。

没办法使用js打开新窗口这种了,考虑ajax请求。写个demo记录下

<script>
  function downloadFile(url, data) {
    $.ajax({
      url: url,
      type: "POST",
      cache: false,
      data: data,
      xhrFields: {
        responseType: "blob", // 设置响应类型为二进制流
      },
      beforeSend: function () {},
      success: function (response, status, xhr) {
        const blob = new Blob([response], {
          type: xhr.getResponseHeader("Content-Type"),
        });
        const link = document.createElement("a");
        link.href = window.URL.createObjectURL(blob);
        link.download = "test.xlsx";
        link.click();
      },
      complete: function (data) {},
      error: function (err) {},
    });
  }
</script>

 

posted @   carol2014  阅读(445)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2023-03-07 封装bootstrap的Toasts组件实现的多个下载任务弹框
点击右上角即可分享
微信分享提示