2011-05-03 60 views
0

我向一个servlet发送一个AJAX POST请求并返回一个文件。我需要使用JavaScript在新窗口中打印文件的内容。 window.open()默认发送请求为GET。但我需要发送POST请求。谁能帮帮我吗?Javascript打开并绘制一个新窗口

+1

为什么你需要一个帖子来复制你从ajax获得的一些文件内容到一个新窗口?在我看来,你不需要Ajax,而只需简单的

' – mplungjan 2011-05-03 11:23:41

+0

Thanks mplungjan。但我做了这样的代码。 – Suki 2011-05-03 11:37:15

+0

但我已经把JS里面的所有东西都包含进去了。这个概念就是当我点击一个页面中的链接时,它应该打开一个pdf并把它放到一个新的子窗口中。我的window.open()默认使用GET请求。但我需要调用servlet的doPost()来获得PDF.i m。请帮帮我。 – Suki 2011-05-03 11:47:05

回答

0

它没有任何意义,具有后链接到PDF,但试试这个:

<form action="" method="post" target="_blank"></form> 
<a href="someservlet?file=somepdf" 
onclick="document.forms[0].action=this.href; document.forms[0].submit(); return false">Somepdf</a> 
0

打开一个新的窗口。

var handle = window.open(); 

写表单标签到新的页面

handle.document.write('<form action="pdfsource.jsp" method="post" id="MyForm">' + 
    '<input type="hidden" name="xxx" value="0123">' + 
'</form>'); 
handle.document.close(); 

然后张贴形式

handle.document.getElementById("MyForm").submit(); 

(可能是SOM的语法错误,还没有来得及测试)

+0

handle.document.getElementById或handle.document.forms [0] - 您需要在写入之后执行handle.document.close()并且不需要换行符。这不是PHP – mplungjan 2011-05-03 12:42:04

+0

谢谢,你是对的,我会更新我的例子。 – 2011-05-03 13:24:35