2011-05-03 58 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