【问题标题】:Ajax call not returning excel fileAjax调用不返回excel文件
【发布时间】:2018-03-24 19:54:53
【问题描述】:

单击链接时,我正在运行对 servlet 的 ajax 调用。该链接没有直接调用 servlet。它是从“onClick”函数调用的。

$('#exportExcelLink').on("click", function(e) {
      e.preventDefault();
      var docStatus=JSON.stringify(g_checkboxVal);
      $.ajax({     
          type : "GET",     
          url : '/bin/servlets/dashboardexcelexport',
          data : { docStatus: docStatus },
          contentType: 'application/json',

          success : function(data) { 
              console.log("excel export call success");
          },     
          error : function(data) {       
              console.log("error occured in excel export call");
          }           
      });
  });

我可以在我的服务器日志中看到正在生成的 excel,并且响应标头还显示了文件名和类型(在控制台的网络选项卡中看到)。

但是文件没有弹出让我打开或保存。页面上根本没有任何活动。

我需要做点别的吗?

【问题讨论】:

  • 您使用 ajax 下载文件有什么原因吗?
  • @Musa,我需要根据发送的参数运行搜索,然后生成带有结果的 excel 文件。除了 ajax 到服务器端的 servlet 之外,我没有找到任何其他方法。
  • 使用表格怎么样

标签: ajax excel servlets aem


【解决方案1】:

使用内置的 createObjectURL 方法创建一个带有 Ajax 响应的 URL。然后创建一个隐藏链接并使 href 成为您创建的对象。然后使用 JavaScript 点击链接

【讨论】:

    猜你喜欢
    • 2016-12-15
    • 2011-04-10
    • 2015-10-08
    • 2012-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    • 1970-01-01
    相关资源
    最近更新 更多