我通过 API 使用 Jsreport。
从浏览器中,对 jsreport 服务器进行 ajax 调用。服务器使用 POST 进行应答,并包含数据和具有文件位置的标头标记永久链接。
复制粘贴到浏览器即可查看PDF文件。
问题是我想在ajax调用的成功处理程序中自动查看它,但是
xhr.getRespondHeader()
不允许除Content-Type之外的任何其他标头。响应标头甚至已经有“Access-Control-Allow-Origin: *”。
如何为用户获取 PDF?
您可以使用官方的jsreport浏览器客户端 - http://jsreport.net/learn/browser-client
如果页面加载了,打开报告就这么简单
jsreport.serverUrl = 'http://localhost:3000';
var request = {
template: {
content: 'foo', engine: 'none', recipe: 'phantom-pdf'
}
};
//display report in the new tab
jsreport.render('_blank', request);
如果你好奇它是如何处理 AJAX 的,你也可以查看它的源代码 https://github.com/jsreport/jsreport-browser-client-dist