我有一个 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 无法将文件直接保存到计算机上(出于安全原因)。