使用jquery,跨域网络调用阅读维基百科网址的内容

时间:2010-06-26 09:09:59

标签: javascript jquery cross-domain wikipedia

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

我想使用jQuery从我的域中读取维基百科页面,iam如上所述。 正如预期的那样,维基百科正在以纯html的形式发送数据,但是当我们使用$ .ajax获取跨域数据时,它希望收到的数据是json格式,因此我会收到错误,无法阅读wikiepedia响应。

请建议我如何使用jquery / javascript(不涉及任何服务器端技术)阅读维基百科网址也有任何api可用,我从维基百科得到json。

3 个答案:

答案 0 :(得分:7)

有一个维基百科API(更准确地说,MediaWiki,维基百科的引擎,有一个API)。您可以在此处详细了解:http://www.mediawiki.org/wiki/API

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

$.getJSON("http://en.wikipedia.org/w/api.php?action=parse&format=json&callback=?", {page:"Football", prop:"text"}, function(data) {console.log(data);});

答案 1 :(得分:3)

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

答案 2 :(得分:1)