2
   jQuery.ajax(
    {
      url:'http://en.wikipedia.org/wiki/Football',
      type:'get',
      dataType:'jsonp',
      success:function(data){alert(data);},
    }

我想使用 jQuery 从我的域中读取 wikipedia 页面,我正在执行上述操作。正如预期的那样,维基百科将数据作为纯 html 发送,但是当我们使用 $.ajax 获取跨域数据时,它期望接收到的数据是 json 格式,因此我收到错误并且无法读取维基百科的响应。

请建议我如何使用 jquery/javascript 阅读 wikipedia url(不涉及任何服务器端技术)还有任何可用的 api,我可以通过它从 wikipedia 获取 json。

4

3 回答 3

7

有一个 Wikipedia API(更准确地说,Wikipedia 的引擎 MediaWiki 有一个 API)。您可以在此处阅读更多信息:http ://www.mediawiki.org/wiki/API

这是一个关于如何获取“足球”页面的格式化内容的 jQuery 示例:

$.getJSON("http://en.wikipedia.org/w/api.php?action=parse&format=json&callback=?", {page:"Football", prop:"text"}, function(data) {console.log(data);});
于 2010-11-18T01:53:40.257 回答
3

端点必须配置为服务 jsonp,在这种情况下它不是。它不会为您神奇地将普通的 html 响应类型转换为 jsonp。您将需要在您的服务器上创建一个代理,该代理将为您提供远程内容,例如,如果您使用的是 php,请查看此链接

于 2010-06-26T09:23:32.610 回答
1

您可以使用YQL进行页面抓取并获取JSONP响应。

http://developer.yahoo.com/yql/console/#h=select%20*%20from%20html%20where%20url%3D%22http%3A//en.wikipedia.org/wiki/Football%22%0A

于 2010-07-24T15:41:58.683 回答