$ .getJSON()方法无法识别wikipedia API JSON

时间:2016-01-03 08:17:05

标签: javascript jquery json wikipedia-api

我已经知道此方法适用于其他JSON格式的数据,但不适用于此处列出的维基百科API JSON输出。任何帮助都会很棒:

$.getJSON('https://en.wikipedia.org/w/api.php?format=json&action=query&generator=search&gsrsearch=starwars', function(data) {
    $("p").html(JSON.stringify(data));
});

3 个答案:

答案 0 :(得分:4)

添加callback



$.getJSON('https://en.wikipedia.org/w/api.php?format=json&action=query&generator=search&gsrsearch=starwars&callback=?', function(data) {
    console.log(data);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

另一种方法是$.ajax使用 jsonp dataType:

jQuery(document).ready(function($) {
  $.ajax({
    url: "https://en.wikipedia.org/w/api.php?format=json&action=query&generator=search&gsrsearch=starwars",
    dataType: "jsonp",
    success: function(data) {
      $("pre").html(JSON.stringify(data, null, 3));
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<pre></pre>

答案 2 :(得分:0)

Jaromanda X是对的,您需要使用callback函数对其进行排序。 https://www.mediawiki.org/wiki/API:Cross-site_requests/en