$.getJSON() 方法无法识别维基百科 API JSON

wikipedia API JSON isn't recognized by $.getJSON() method

我已经知道此方法适用于其他 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));
});

添加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>

Jaromanda X 是对的,您需要使用 callback 函数来解决这个问题。 https://www.mediawiki.org/wiki/API:Cross-site_requests/en

另一种方法是 $.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>