2010-03-08 81 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

享受!