我有一个 jasper 报告,需要使用 AJAX 打印,但是,使用 jquery ajax 调用它不起作用:

    $.ajax( 
                { 
                    method: 'POST', 
                    url: 'ExportReport', 
                    async : false, 
                    data: {  
                          typeOfClient          : _type, 
                          mouthOfSelect         : _mounth 
                }, 
                    success : function (html) { 
                        alert("Sucess"); 
                } 

如果我使用提交表单,这项工作:

//create dynamic form 
var formularioElement = document.createElement('form'); 
formularioElement.setAttribute('id', 'formSync'); 
formularioElement.method = 'POST'; 
formularioElement.action = 'ExportReport'; 
 
// Create input 
var formularioInput = document.createElement('input'); 
formularioInput.type = 'text'; 
formularioInput.name = 'typeOfClient'; 
formularioInput.value = _type; 
 
// Create input 2 
var formularioInput2 = document.createElement('input'); 
formularioInput2.type = 'text'; 
formularioInput2.name = 'mouthOfSelect'; 
formularioInput2.value = _mouth; 
 
formularioElement.appendChild(formularioInput); 
formularioElement.appendChild(formularioInput2); 
 
// add the form to DOM 
document.body.appendChild(formularioElement); 
 
// submit 
formularioElement.submit(); 

这两个代码都调用服务器端并创建 jasper PDF equals,但只是 form.submit() 执行文件下载,ajax 代码 不下载文件。

我可以使用 AJAX 来实现吗?

请您参考如下方法:

你不能使用 AJAX 来做到这一点,因为 JS 无法将文件直接保存到计算机上(出于安全原因)。


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!