2011-08-23 38 views
1

我有一個siteA和JS在siteB中。 siteB JS在AJAX POST請求中獲取siteB域以返回JSON。然後,根據siteB域中的信息,並通過JS中的一些創建文檔技術,使用siteB JS注入站點A網站。如果它違反了同一原產地政策,還有其他建議嗎?謝謝。關於相同的原產地政策....我可以這樣做嗎?

(我只需要控制站點B的權利。)

回答

4

人們普遍認爲大約三個來源有這樣的事情打交道時:

  1. 頁(http://example.com/)
  2. 腳本(http://example.net/ foo.js)
  3. 的數據(http://example.net/bar.json)

有經常圍繞其工作了,如果正在使用的「相同」的原點時的人進行比較混亂。 只有頁面的起源和數據事項。腳本本身加載的地方是無關緊要的。

在這種情況下:

  1. 頁:甲
  2. 腳本:B(不相關)
  3. 數據:乙

由於頁和數據來自不同起源,您無法從頁面讀取數據。

既然你想POST請求:通過代理服務器A的HTTP請求(JSON-P,其他經典跨域Ajax技術,嚴格限於GET請求。)

你也可以考慮使用Cross-Origin Resource Sharing,它允許您覆蓋同源策略,但瀏覽器支持有限。

+0

這是(種)可以使用iFrames和表單提交進行跨域POST - 此鏈接(http://aboukone.com/2011/02/04/how-to-post-cross-domain-and -access-the-returned-data-using-extjs /)有一個解釋實現。我認爲也有jQuery插件可以做同樣的事情 – tinyd

0

可以使用橋接服務器端。在站點A中創建一個文件(通過捲髮)在您的其他站點B創建一個文件。(

0

您無法使用一個域中的JavaScript來修改另一個域上的另一個網站的內容。如果你控制兩個站點(並且我希望你這樣做),你可以使用B中的javascript將數據推送到站點B的服務器,然後使用服務器間通信更新A的服務器,從而更新A的內容。