2011-08-29 69 views
1

我在jQuery的功能,試圖HTML內容從網頁:jQuery的不工作的外部域

$.ajax({ 
    type:'GET', 
    url: 'http://www.google.com', 
    success: function(data) { 
     alert(data); 
    } 
}); 

爲什麼不工作? 在螢火蟲我看到通訊標題。 感謝advace

+1

你不能對外部URL http://en.wikipedia.org/wiki/Same_origin_policy –

+1

跨域安全問題Ajax請求。查看JSONP http://en.wikipedia.org/wiki/JSONP解決此問題的另一種方法是調用您的域上的服務器端方法來代理對google.com的調用 –

+1

[jQuery AJAX with two domains ](http://stackoverflow.com/questions/2907737/jquery-ajax-with-two-domains) – Quentin

回答

2

您正在違反SOP。爲避免SOP,您可能需要一個服務器端腳本(在您的主機上)加載外部URL並將數據返回到您的客戶端腳本,或者使用提供JSONP結果的服務。

0

那麼,出於安全原因,Javascript不允許頁面從外部域加載頁面。這些安全原因是爲了防止用戶形成劫持,xss攻擊等。如果您仍然想要加載外部頁面,則可以使用iframe,否則在後端需要openId類型的東西。

0

由於安全違規,不允許跨域$ .ajax。唯一可以在jQuery中執行的跨域調用是JSONP請求。

請閱讀我的回答這個問題:JavaScript: How do I create JSONP?

相關問題