Ajax调用不返回excel文件

时间:2018-03-24 19:54:53

标签: ajax excel servlets aem

我在点击链接时正在运行对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 call response headers

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

我还需要做点什么吗?

1 个答案:

答案 0 :(得分:0)

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