0
我有兩個站點,我的主站點和一個帶文檔的幫助站點。主要網站是鐵路,但另一個簡單的博客像wordpress。目前我有一個iframe被拉入主站點,但是有沒有一種很好的方法可以從另一個站點獲取html作爲某種跨域(實際上是子域)的部分?或者我應該堅持什麼有效?避免iframes,但有一些類似iframe的Rails活動
我有兩個站點,我的主站點和一個帶文檔的幫助站點。主要網站是鐵路,但另一個簡單的博客像wordpress。目前我有一個iframe被拉入主站點,但是有沒有一種很好的方法可以從另一個站點獲取html作爲某種跨域(實際上是子域)的部分?或者我應該堅持什麼有效?避免iframes,但有一些類似iframe的Rails活動
如果數據源都位於同一個域中,則可以直接使用AJAX來獲取補充內容並將其移植到您的頁面上。但是,由於數據來自不同的域,內置於Web瀏覽器的same origin security policy將阻止該數據的運行。
流行的解決方法叫做JSONP,它可以讓你從任何合作的服務器上獲取數據。您的實現可以是這個樣子(使用jQuery):
$.getJSON(
"http://my.website.com/pageX?callback=?",
function(data) {
$("#help").append(data)
}
)
唯一的障礙是由服務器返回的數據必須被包裝成一個javascript函數調用。例如,如果你的數據是:
<h1>Topic Foo</h1>
那麼你的服務器必須向JSONP請求,這樣的迴應:
callbackFunction("<h1>Topic Foo</h1>")
雖然你也許可以去它以不同的方式,這有什麼錯你iFrame解決方案? – 2010-09-06 14:25:48