小编典典
不幸的是,跨域限制意味着这根本行不通。该系统是专门构建的,因此您不能使用AJAX拉取任意跨域内容。没有任何形式的预解析方法可以将要获取的非JSONP数据转换为实际的JSONP数据(因为这会超出限制的要点)。
您将不得不打电话给从Yahoo!提取数据的本地服务器。并将其发送到您的AJAX请求,或者找到某种类型的服务,该服务将从任意URL中提取并以JSONP形式返回数据。碰巧的是,雅虎!提供这样的服务:YQL(雅虎查询语言)。有关更多详细信息,请参见此链接。
要完成所需的操作,请使用以下小提琴中的代码:http :
//jsfiddle.net/c5TeM/1/
function get_url(remote_url) {
$.ajax({
url: "http://query.yahooapis.com/v1/public/yql?"+
"q=select%20*%20from%20html%20where%20url%3D%22"+
encodeURIComponent(remote_url)+
"%22&format=json",
type: 'get',
dataType: 'jsonp',
success: function(data) {
alert(data.query.results.body.p);
},
error: function(jqXHR, textStatus, errorThrow){
alert(jqXHR['responseText']);
}
})
}
2020-07-26