2012-10-17 25 views
0

我想要做以下事情,有人可以請幫忙。用郵政數據打開新窗口(PHP,Javascript)

我創建了一個接受json對象的php文件。該網頁旨在直接顯示給用戶。

如何在不使用HTML表單的情況下從另一頁打開此頁面?我需要一個簡單的解決方案,看起來像下面這樣。

的JavaScript(jQuery的支持,如果需要的話):

var JsonParamToPass=jsonObj; 
    var postData=JsonParamToPass; 
    window.open("www.myAwesomePageThatAcceptsPostData.com",'_blank',method=POST,postData); 
    //the last two variables are made up and i need to find a way to do that, that can easily be given to other people to use. 

我想避免使用Ajax請求寫入輸出到一個新的頁面,我想,以避免造成可能的話的一種形式。

謝謝

+0

你有沒有真正堅實的理由不使用Ajax和/或表單?在任何情況下,您都會將輸出寫入新頁面。當窗口打開時,它是一個新頁面,不是嗎? – enenen

+0

原因是爲了方便其他人使用。這個頁面是爲其他人打開的,如果不是簡單的,其他人不會使用它。如果只是我,我會使用$ .POST()並將數據寫入newWindow。我正在尋找一個內置函數的JavaScript/jQuery或一種方式來讓瀏覽器發出一個請求(我認爲最不這樣做) – Jegsar

回答

2

你可以使用window.opener方法來訪問父窗口變量的JavaScript。

var myVar = window.opener.parentVar; 

任何原因,你不能使用隱藏形式和使用JavaScript這樣的提交: (這將是你原來的窗口和document.submit將打開一個新窗口,而不是使用當前窗口)

<form name="myForm" action="http://yourAwesomePage" method="POST"> 
    <input type="hidden" id="myVar" name="myVar" value = ""> 
</form> 

<SCRIPT type="text/javascript"> 
    document.myForm.myVar.value = someValue; 
    document.myForm.submit(); 
</SCRIPT> 
+0

雖然這會工作,但我試圖讓其他用戶很容易做到。我認爲我將要領導的方向是提供一個JavaScript庫,並讓它接受json變量。然後附加一個隱藏的表單並提交,但我想避免讓用戶做太多的工作來打開窗口。 – Jegsar