2011-06-18 229 views
2

我在這裏看到類似的問題,但我沒有找到有關Javascript的任何答案。從另一個網站獲取內容

我正在構建一個網站(讓我們稱之爲'A'),並且我想從另一個需要用戶名和密碼的網站('B')獲取內容。 我想在我的網站上獲取B處某個頁面內容的功能。我總是在我的計算機上手動登錄到站點B,因此我不需要該功能來進行登錄(所以我將它直接鏈接到B)信息的正確頁面)。 A和B不在同一個域中。 Javascript中有從B獲取內容的方法嗎?

回答

5

你需要一個cross-doman AJAX調用(通常由same origin policy阻止)。 jQuery有一個方便的輔助功能此,將返回JSON數據稱爲$.getJson()

$.getJSON('http://otherdomain/ajax/test.json', function(data) { 
    if (undefined != data) { 
    console.log(data); 
    } 
}); 

這利用已知爲JSONP的技術,其寫入的Javascript直接進入該文件,使該請求(而不是使用XMLHttpRequest對象),繞過相同的原產地政策。

+0

那麼,只是想知道是否有一種方法可以在純Javascript中做到這一點,但不要猜測,所以我會開始閱讀關於AJAX的內容。謝謝! – Roee84

+0

jQuery是一個使用Javascript編寫的庫,所以「庫」可以作爲「純粹」的對象:) – Andy

0

沒有就沒有辦法使用純javascript擺脫外部B網頁內容,但你可以嘗試使用PHP curlfile_get_contents

+0

這就是我的想法,但我希望有一種方法..謝謝! – Roee84

2

我喜歡做的就是使用YQL(雅虎查詢語言) 這就像api的API。我使用選擇器獲取我想要的任何html並處理它。 例如,我可以從this wikipedia link使用查詢像 SELECT * FROM html WHERE url="http://en.wikipedia.org/wiki/List_of_United_States_National_Parks_by_state" AND xpath="//img",然後處理返回的XML/JSON抓住所有的圖像

可以測試查詢HERE

,看到抓取和處理圖像in this Fiddle的例子

相關問題