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