注意:我假设您正在通过
Ajax.Request调用使用Prototype框架。
该响应对象并不意味着要直接写入,但它确实,有
responseText应包含返回PDF属性。
你有没有尝试过:
new Ajax.Request('/pdfservlet', { onSuccess: function(response) { docWindow = window.open('','title'); docWindow.document.open('application/pdf'); document.write(response.responseText); docWindow.document.close(); }, onFailure: function(response) { alert(response); } });(注意已添加
.responseText)
编辑: 好的,所以那行不通…尝试这样的事情:
new Ajax.Request('/pdfservlet', { onSuccess: function(response) { window.open('/pdfservlet'); }, onFailure: function(response) { alert(response); } });这将创建ajax请求,如果成功,则在新窗口中打开它。打开新窗口应该很快,并且实际上不需要再次请求PDF,因为浏览器应该在Ajax.Request调用期间将其缓存了。



