ExtJS + Spring:Ajax调用后无法在浏览器中接收PDF

时间:2014-08-06 14:32:22

标签: ajax spring extjs pdf-generation itext

我正在使用Spring + ExtJS,需要导出到' UI屏幕上的功能。我正在进行Ajax调用并将JSON格式的数据发送到控制器。在控制器中我正在做所有的事情来使用iText生成PDF,它确实生成了文档。

现在我没有在浏览器中看到生成的PDF到下载/视图。如果我在没有Ajax调用的情况下这样做,它就可以了。不确定是什么造成了不同。

我阅读了一些相关的文章,建议在下面使用:

Content-type: application/pdf
Content-Disposition: attachment; filename="FileName.pdf"

但是没有运气。请就此提出意见/让我知道如果出错。

1 个答案:

答案 0 :(得分:1)

如上所述herehere,您可以使用隐藏的iframe执行此操作。 我个人更喜欢隐藏表单发布解决方案,这是一个例子:

var formEl = Ext.DomHelper.append(document.body, {
            tag: 'form',
            css : 'display:none;',
            id: 'downloadForm'
        }, true);
var form = new Ext.form.BasicForm(formEl, {
            url : [your spring controller url],
            method : 'POST',
            fileUpload: true,
            baseParams: [your JSON parameters]|| {}
        });
form.doAction(new Ext.form.action.StandardSubmit({
            form: form,
            clientValidation: false
        }));

我希望这会有所帮助。