2014-07-25 2 views
0

Я обращаюсь к медиа-вики api с помощью javascript и возвращаю JSON, но при анализе/доступе к возвращенным данным и вставке переменной datastr в существующий div я получаю undefined. Вот мой код сценария:MediaWiki api JSON ошибка синтаксического анализа в javascript

$.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: http://bulbapedia.bulbagarden.net/w/api.php?action=parse&format=json&page=Bulbasaur_%28Pok%C3%A9mon%29&prop=images

Это может быть проблемой, либо с тем, как я доступ к API, или просто получающей/разбор JSON. В конце концов, мне нужен образ «001Bulbasaur.png». Благодаря!

** Изменение datax.images [2] на datax.parse.images [2] возвращает то же неопределенное.

ответ

0

Изменить

var datastr = datax.images[2]; 

To:

var datastr = datax.parse.images[2]; 

Update: Кажется, у вас возникли проблемы перекрестного происхождения, его не делает запрос. Это должно работать:

$.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: http://jsfiddle.net/mRU3M/

+0

После этого, я все еще получаю не определено. – Pran

+0

Обновление проверки @Pran – juvian

+0

Это печатает на консоль, которая решает одну проблему, но при попытке вставить ее в HTML: она по-прежнему создает неопределенное значение: http://jsfiddle.net/mRU3M/1/. Это может быть отдельный вопрос, чем представленный вопросом. – Pran

Смежные вопросы