jqGrid('navButtonAdd',"#pager2",{caption:"Save All",title:"Save & Create Receipt",onClickButton:function () {
var s;
s = jQuery("#list2").jqGrid('getDataIDs');
alert("selected");
$.ajax({
type: 'POST',
url:'http://localhost:3000/order/receipt',
data: {ids: s},
});
}});
使用上面的代码,我可以向服务器提交数据,在服务器端它将生成pdf作为附件,现在我想通过浏览器上的新窗口/选项卡查看响应的pdf。
无论如何要做到这一点?
感谢, lupind
答案 0 :(得分:1)
如果您返回刚刚生成的PDF的URL,则可以使用该URL调用window.open。但是如果你想打开一个新窗口来显示PDF,我就不会使用Ajax调用。在这种情况下,我会:
对我来说,对一个结果使用两个HTTP调用(生成和查看PDF)是一种浪费。
答案 1 :(得分:0)
您可以使用window.open()
打开包含指定网址的新窗口。但要小心,只有在必要时才这样做。
答案 2 :(得分:0)
摘自this link。
将iframe
与visibility:hidden
一起使用,然后在成功回调的javascript中将iframe
位置更改为可下载文件。
var iFrame = document.getElementById('hiddenIFrame');
iFrame.src = theurlThatWillProduceTheFile;