如何使用AJAX下载jasper报告的PDF档案?

时间:2017-06-05 13:03:15

标签: javascript java jquery ajax

我有一个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等于,但仅form.submit()执行文件下载,the ajax code不下载文件。

我可以使用AJAX吗?

1 个答案:

答案 0 :(得分:0)

您无法使用AJAX,因为JS无法将档案直接保存到计算机上(出于安全考虑)。