2013-07-18 77 views
0

我的網站上有一個用於在其他網站註冊的頁面。其他網站給了我一個URL提交表單。我正在使用帶有以下.attr(「method」,「GET」)。attr(「target」,「_blank」)...和其他代碼的aspnetForm。一旦表單提交到他們的網站,新的空白窗口就會填充一條消息,說明表單提交是否成功。新頁面包含來自其他網站的url,它包含一個查詢字符串,其中包含對我有用的數據,以便我的應用程序確實知道提交是否成功,而不僅僅是提供給用戶的視覺提示。有沒有辦法讓我的應用程序從其他窗口中檢索查詢字符串數據?從外部表單檢索查詢字符串數據

謝謝

+0

你有沒有看過使用window.open,發送數據到GET請求中的其他網站?有了它,您可以在自己的頁面中存儲對打開窗口的引用,然後在需要時訪問該窗口的DOM。 – Michael

+0

我已經看到了。儘管如此,我仍然在努力處理另一個窗口。當我嘗試引用window.open時,我得到一個空值。來自另一個網站的窗口是否會影響我獲得參考的能力?我發現了一些關於在IE中取消選中「啓用保護模式」的設置,這使得我可以得到一個對象引用,但我不認爲這是一個非常好的解決方案。我也在研究window.postMessage,但還沒有弄清楚我如何利用它。 – user2023116

+0

是的,我的猜測是你是正確的,如果你被允許訪問這樣的其他網站,這將是一個安全風險(跨站點腳本/ XSS)。我不是XSS的專家,但是我認爲如果您想要這種訪問權限,您必須與其他網站的所有者合作。關閉IE的默認安全設置聽起來很冒險,所以我就跟你說。也許別人可以添加一些輸入到這個。 – Michael

回答

0

說,如果你得到返回的URL是https://other-site.apsx?usefulData=blah

您可以從代碼抓住這個背後使用:

var queryString = Request.QueryString["usefulData"]; 

這會給你的usefuleData的值,它是blah

+0

請求和響應都是通過javascript完成的,所以在這個過程中並沒有真正的回調服務器代碼。在接收到新窗口中的響應後,是否有建議的方式讓這兩個(Javascript和.Net)相互交談? – user2023116