2017-01-19 2 views
0

Я пытаюсь получить данные из API Goodreads для отображения рейтинга для книги, но я столкнулся с препятствием.Как перемещаться по JSONP от Goodreads?

Из этого URL (https://www.goodreads.com/book/review_counts.json?isbns=9781630586799&key=YOUR_KEY&callback=myCallback), я ПОЛУЧАТЬ ниже данных JSONP от Goodreads:

myCallback([{ 
    "id":22571333, 
    "isbn":"163058679X", 
    "isbn13":"9781630586799", 
    "ratings_count":657, 
    "reviews_count":2288, 
    "text_reviews_count":138, 
    "work_ratings_count":835, 
    "work_reviews_count":2596, 
    "work_text_reviews_count":155, 
    "average_rating":"3.93" 
}]) 

А вот мой JavaScript:

function myCallback(result) { 
    document.getElementById('goodreads-rating').innerHTML = result.average_rating; 
} 

var scriptTag = document.createElement('script'); 
scriptTag.src = "https://www.goodreads.com/book/review_counts.json?isbns=9781630586799&key=YOUR_KEY&callback=myCallback"; 
document.getElementsByTagName('head')[0].appendChild(scriptTag); 

Данные, которые я хочу, чтобы получить это average_rating , Однако то, что выводится в HTML, является словом «undefined».

Я предполагаю, что моя проблема имеет какое-то отношение к тому, как я перемещаю массив/объект.

Кто-нибудь знает, что я делаю неправильно?

+1

try 'result [0] .average_rating;' doh ... – dandavis

+0

Это сработало, спасибо! – Ryan

ответ

0

Следующая решить мою проблему:

result[0].average_rating; 

теперь я понимаю, что я пытался ориентироваться в массиве, следовательно, необходимость ссылаться на номер индекса [0]. Спасибо @dandavis за ответ!

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