2010-03-08 76 views
0

我想提取其他網站託管的網頁的源代碼,但問題是O得到一個空的回覆,我試圖拉多個網站的來源,但問題是從我的代碼:幫助! Ajax沒有獲得外部頁面內容?

$(document).ready(function(){ 
    $.get('http://www.xxxx.com', function(xdata) { 
     alert("content: "+xdata); 
    }); 
}); 

有沒有搞錯?

注:當我試圖讓當地的頁面,它的作品的來源,但我不知道爲什麼它不爲外部一個

感謝

回答

0

你不能跨使用AJAX域

+0

javascript中是否還有其他類似的內容 – Ryan 2010-03-08 02:18:05

+0

Bauer使用跨域代理的答案是唯一的方法 – Pharabus 2010-03-08 02:21:05

+0

這不提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 – devundef 2012-08-24 23:58:38

0

因爲SOP(同源策略),你不能從其他域使用的URL。嘗試從本地服務器訪問頁面,不要使用http。

0

如果您對構建自己的代理不感興趣,那麼有一個非常易於使用的公共代理(託管在AppEngine上),它具有JavaScript庫。 CurlJS:http://curljs.azoffdesign.com/

你的例子可以這樣做(包括庫後):

curl("http://www.xxxx.com", function (status, xdata) { 
    alert("content:" + xdata); 
}); 

希望幫助!

0

我使用虛擬域的服務器並創建了一個Apache代理。

超快速,有效,無怪癖。

拷貝,修復路徑(mod_proxy的,域,等...),添加到您的.conf文件,重新啓動服務器

LoadModule proxy_module /usr/local/zend/apache2/modules/mod_proxy.so 
LoadModule proxy_http_module /usr/local/zend/apache2/modules/mod_proxy_http.so 
ProxyRequests Off 
ProxyPreserveHost On 
ProxyPass /datadomain http://datadomain.com/webservices 
ProxyPassReverse /datadomain http://datadomain.com/webservices 

現在http://datadomain.com/webservices/data.php = http://yourdomain.com/datadomain/data.php

享受!