我想从其他网站获取 div 中的数据。我怎样才能使用 JavaScript 做到这一点?
问问题
17342 次
2 回答
8
由于跨域限制,您无法使用 AJAX 直接访问 html。
但是,您可以使用Yahoo YQL
来选择您想要的页面部分,并在jsonp
数据中返回该 html。
示例返回 stackoverflow 主页上的问题列表
var url='http://query.yahooapis.com/v1/public/yql?q=select * from html where url=\'http://stackoverflow.com/\' and xpath=\'//div[@id="question-mini-list"]//h3//a\'&format=json&callback=?';
$.getJSON( url, function(data){
$.each(data.query.results.a, function(){
$('body').append('<div><a href="http://stackoverflow.com'+this.href +'">'+this.content+'</a></div>')
})
})
演示:http: //jsfiddle.net/NTUx5/
YQL 文档:http: //developer.yahoo.com/yql/guide/index.html
编辑:这不再起作用了。
于 2013-01-26T15:49:37.000 回答
-1
您将不得不使用 JSONP 技术,正如上面的 jungalist 建议的那样;或让您的 AJAX 方法与使用 cURL 的本地 PHP 脚本对话:
jQuery:
$('#result').load('path/to/script.php');
PHP:
$ch = curl_init("http://example.com");
curl_exec($ch);
curl_close($ch);
于 2013-01-26T14:32:40.660 回答