Javascript Jquery不适用于外部域
我在Jquery中有一个函数,可以尝试从页面获取html:Javascript Jquery不适用于外部域,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在Jquery中有一个函数,可以尝试从页面获取html: $.ajax({ type:'GET', url: 'http://www.google.com', success: function( data ) { alert( data ); } }); 为什么不起作用? 在firebug中,我看到了通信头。您正在违反。为了避免SOP,uou可能需要服务器端脚本(在主机上)来加载外部url并将数据返回到客户端脚本,或者使用提供结果的服务。出于安全原因,Jav
$.ajax({
type:'GET',
url: 'http://www.google.com',
success: function( data ) {
alert( data );
}
});
为什么不起作用?
在firebug中,我看到了通信头。您正在违反。为了避免SOP,uou可能需要服务器端脚本(在主机上)来加载外部url并将数据返回到客户端脚本,或者使用提供结果的服务。出于安全原因,Javascript不允许页面从外部域加载页面。这些安全原因是为了防止用户表单劫持、xss攻击等。如果您仍然想加载外部页面,可以使用iframes,否则您的后端将需要openId之类的东西 由于安全冲突,不允许跨域$.ajax。在jQuery中可以执行的唯一跨域调用是JSONP请求
请阅读我对这个问题的回答:您不能对外部URL跨域安全问题执行Ajax请求。查看JSONP解决此问题的另一种方法是调用域上的服务器端方法,以代理对google.composible的调用