我不确定我在这里做错了什么,但是我将一些数据传递给我们内部构建框架的控制器操作,我们执行ajax调用的方式只是Jquery中常规ajax调用的包装。
CT.postSynch('report/payRollReport/createPayrollReport', {data : data}, function(data){});
我传递的数据是两个日期,用于创建csv文件。这个文件会正常下载如果我没有选择日期,那就是如果我在日期中选择硬编码来选择数据 - 将会下载csv文件。
对于上述方法,我得到的所有内容都是包含逗号分隔字符串的响应,没有文件下载。我不确定为什么会有这样的不同:当它不是ajax调用时它会下载,而当它是ajax调用时它不会下载。
显然,如果标题在常规链接下载时会被设置好....
如果有的话,我对data
应该怎么做?使其下载新文件而不是将其吐出到响应对象中?
然后我尝试执行以下操作:
CT.postSynch('report/payRollReport/createPayrollReport', {data : data}, function(data){
location.href='data:application/csv;charset=UTF-8,' + encodeURIComponent(data);
});
但我正在下载的不是CSV,它只是一个“下载”,因为Chrome调用是