2009-08-08 33 views
2

我最近創建了一個學生組織網站(即www-sc.xxx.edu/studentorganizations/ourorganization)。我們學院不允許我們創建動態網站,因此我需要在不同的域名(博客,新聞等)中託管一些頁面。現在,我想掩蓋我在外部URL託管了一些網站。因此,例如,如果學生訪問新聞頁面,我希望數據從外部網址加載而不需要訪問者意識到。這是可能的jQuery,如果是的話,如何?使用客戶端編碼加載外部網址

謝謝大家提前。

回答

3

這是一個棘手的問題類似,因爲通常,您不能使用XMLHttpRequest從與當前網站沒有相同來源的資源加載數據。這是出於安全原因:如果您的JavaScript可以從任何地方加載任意數據,這會打開各種跨站腳本攻擊的大門。

如果你只想要做的是顯示來自外部URL的數據,你可以在iframe中完成。但是,您修改數據表示的能力將非常有限。

對此的標準解決方案是編寫一個服務器端代理,從外部資源獲取數據,然後將其發送到客戶端,但聽起來您可能無法做到這一點。

然而,可以使用JSONP第三方數據,如果您要提取的數據是JSON格式獲取。 jQuery supports this natively截至版本1.2。

+0

基本上有3件事環繞着。標題,描述和日期。我可以將外部網址數據轉換爲json,但我認爲我的一個組員嘗試了這種方法,但已經失敗了。 – Efe 2009-08-08 17:57:12

+0

他以json格式打印數據,但未能檢索到它。有沒有一種標準的方法來檢索JSON數據? – Efe 2009-08-08 17:58:14

+0

他是否在回調中使用'.getJSON'? JSONP需要一個。看看我提供的最後一個鏈接;它有一個如何使用Flickr JSONP API來實現的例子。 – 2009-08-08 18:04:03

0

雖然現在每天都很不受歡迎,但我認爲解決您的問題最直接的方法是將外部內容合併到簡單的HTML iframe中。

注:我這裏假設,通過「不允許我們創建動態的網站」,你的意思是你沒有訪問PHP或服務器

0

...如何將外部加載到iFrame中? 在:

...如果你可以根據需要用jQuery修改src。

0

iFrames可以是無邊界的,並且可以很好地與大多數現代瀏覽器上的網頁集成。它們對於組織來說似乎是一個非常方便的選擇