Jquery不适用于外部域

我在Jquery中有一个函数,尝试从页面获取html:

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

为什么不起作用? 在firebug中我看到了通讯头。

你违反了SOP 。 为了避免SOP,您可能需要服务器端脚本(在主机上)来加载外部URL并将数据返回到客户端脚本,或者使用提供JSONP结果的服务。

好吧,出于安全原因,Javascript不允许页面从外部域加载页面。 这些安全原因是为了防止用户进行劫持,xss攻击等。如果您仍想加载外部页面,可以使用iframe,否则您需要在后端使用openId类型的东西。

由于安全违规,不允许跨域$ .ajax。 您可以在jQuery中执行的唯一跨域调用是JSONP请求。

请阅读我对这个问题的回答: JavaScript:如何创建JSONP?