首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示WikiText

如何显示WikiText
EN

Stack Overflow用户
提问于 2011-03-31 22:54:32
回答 2查看 518关注 0票数 2

我想从维基百科页面中获取WikiText,并使用Javascript在浏览器中显示它。以下是我目前所拥有的:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-1.5.js"></script>
</head>
<body>
  <div id="wikiInfo">&nbsp;</div>

  <script>
    $.get('http://en.wikipedia.org/w/index.php?action=raw&title=Dog&callback=?',
         function(data) {
           $("div").add(data);
           alert('load performed');
   });
  </script>
</body>
</html>

然而,这似乎不起作用。最终,我也希望能够将获取的wikitext保存到一个变量中,因此对此的任何帮助也将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-31 23:23:38

它是跨域的,所以它不能工作...创建一个wiki.php并使用JS获取"wiki.php?title=Dog“...

代码语言:javascript
复制
function curl($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_close ($ch);
    return curl_exec($ch);
}

$title = $_GET["title"];

echo curl("http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=json&callback=?&titles=$title");

使用@Tgr WikiPedia链接进行编辑。我还建议在PHP中解析JSON,然后输出HTML或原始文本。

票数 3
EN

Stack Overflow用户

发布于 2011-04-01 00:10:20

action=raw不接受JSONP回调参数。您应该进行适当的API调用:

代码语言:javascript
复制
$.getJSON('http://en.wikipedia.org/w/api.php?'+
     'action=query&prop=revisions&rvprop=content'+
     '&format=json&callback=?&titles=Dog', 
     function(result) { /* process JSON result */ });

请参阅API documentation (关于JSONP限制的this remark )、working example和维基百科上关于same-origin policyJSONP的文章,以了解您的第一种方法为什么不起作用。

您可以通过将'json‘替换为’jsonfm‘来研究接口结果的格式:http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=jsonfm&titles=Dog

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5501822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档