Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的MediaWiki api JSON解析错误_Javascript_Jquery_Json_Mediawiki Api - Fatal编程技术网

javascript中的MediaWiki api JSON解析错误

javascript中的MediaWiki api JSON解析错误,javascript,jquery,json,mediawiki-api,Javascript,Jquery,Json,Mediawiki Api,我使用javascript访问media wiki api并返回JSON,但在解析/访问返回的数据并将datastr变量插入现有div时,我收到未定义的消息。以下是我的脚本代码: $.getJSON("http://bulbapedia.bulbagarden.net/w/api.php?action=parse&format=json&page=Bulbasaur_%28Pok%C3%A9mon%29&prop=images", function(data) {

我使用javascript访问media wiki api并返回JSON,但在解析/访问返回的数据并将datastr变量插入现有div时,我收到未定义的消息。以下是我的脚本代码:

$.getJSON("http://bulbapedia.bulbagarden.net/w/api.php?action=parse&format=json&page=Bulbasaur_%28Pok%C3%A9mon%29&prop=images", function(data) {
    var datax = $.parseJSON(data);
    var datastr = datax.images[2];
    console.log(datastr); //prints nothing to the web console
});
我相信链接本身工作正常,返回一个JSON:

这可能是我访问API的方式有问题,或者只是接收/解析JSON有问题。谢谢

**将datax.images[2]更改为datax.parse.images[2]将返回相同的未定义值。

Change

var datastr = datax.images[2];
致:

更新:似乎您有交叉来源的问题,它没有提出请求。这应该起作用:

$.ajax({
  dataType: "jsonp",
  url: "http://bulbapedia.bulbagarden.net/w/api.php?action=parse&format=json&page=Bulbasaur_%28Pok%C3%A9mon%29&prop=images",
  success: success
});

function success(datax){
    var datastr = datax.parse.images[2];
    console.log(datastr); //prints 001Bulbasaur.png 
}

Fiddle:

执行此操作后,我仍然会收到未定义的。这会打印到控制台,解决了一个问题,但当我尝试将其插入HTML时,它仍然会生成未定义的:。这可能是一个与问题不同的问题。@pran ajax是一个异步过程,因此您需要将'document.getElementById(“div”).innerHTML=datastr;'成功函数内部
$.ajax({
  dataType: "jsonp",
  url: "http://bulbapedia.bulbagarden.net/w/api.php?action=parse&format=json&page=Bulbasaur_%28Pok%C3%A9mon%29&prop=images",
  success: success
});

function success(datax){
    var datastr = datax.parse.images[2];
    console.log(datastr); //prints 001Bulbasaur.png 
}