为什么这不会获取源代码?

时间:2013-08-26 16:22:33

标签: javascript jquery ajax

此代码应获取http://yahoo.com/(index.html)的HTML源代码,并在对话框中显示。

$.ajax({ url: 'http://yahoo.com', success: function(data) {
    alert(data); 
    } 
}); 

然而,它不会做任何事......

我的代码出了什么问题?

2 个答案:

答案 0 :(得分:3)

默认情况下,您不允许发出跨域请求。这违反了Cross Origin政策。

要使其正常工作,请求的域必须发出允许请求域的标头。

我有一个关于如何设置和使用CORS策略的教程:http://fritsvancampen.wordpress.com/2013/02/03/cross-site-origin-requests-aka-cross-origin-resource-sharing/ 但是如果你想从雅虎那里获取数据,你需要控制他们的域名......这不会发生;)

答案 1 :(得分:1)

Ajax不用于您的目的。你必须像这样使用

   $content = file_get_contents('http://www.yahoo.com/');
    print_r($content);

或者这可能对你有所帮助 http://toolspot.org/extract-website-data.php