2010-01-06 2 views
0

Почему этот JSON-канал возвращает неопределенные переменные при работе с другой переменной? Что я делаю неправильно или не замечаю? Благодарю.Ошибка (неопределенная переменная) в jQuery

+0

Сложно сказать, что предоставленная ссылка вернет ошибку (Недопустимое значение параметра: callback =?). Если я удалю параметр обратного вызова из URL-адреса, ответ на ваш вопрос очевиден, но я не знаю, действительны ли данные. – ybo

+0

@ybo, удалить callback =? от ссылки при рендеринге в браузере и возвращать данные как обычно. Обратный вызов =? необходимо проанализировать данные с помощью $ .getJSON. Удаление обратного вызова =? из URL-адреса ничего не возвращает при использовании $ .getJSON. – Steve

+0

Структура JSON прекрасна, но 'item ['media $ group'] ['media $ content'] [0] ['url']' и 'tem ['yt $ statistics'] ['viewCount']' don В возвращаемых данных не существует. Вы уверены, что учетная запись пользователя верна и активна? –

ответ

2

Если вы посмотрите на содержание в ответ:

curl http://gdata.youtube.com/feeds/users/kaycor/favorites?alt=json-in-script&callback=mycallback 

Вы видите, что entry.media $ групповые и entry.yt $ статистика не существует:

gdata.io.handleScriptLoaded({ 
    "feed": { 
     // snip ... 
     "entry": [{ 
      // snip ... 
      "media$group": { 
       "media$category": [{ 
        // snip ... 
       }], 
       "media$title": { 
        // snip ... 
       } 
      } 
     }] 
    } 
}); 

Edit: Не все элементы содержат массив media$content, поэтому вы должны изменить свой блок следующим образом:

$.each(data.feed.entry, function(i, item){ 
    var uploader = item['author'][0]['name']['$t']; 
    if (item['media$group']['media$content']) { 
     var URL = item['media$group']['media$content'][0]['url']; 
     var thum = item['media$group']['media$thumbnail'][0]['url']; 
    } 
}); 

Я написал сценарий быстрого теста для этого и с предложением if на месте, он больше не выдавал ошибок.

+0

@Priit, спасибо за ваш ответ. Вы правы, я просто замечаю, что возвращаемые данные из учетной записи, которую я использовал, больше не возвращают эти данные, так как я ранее извлекал данные и теперь назначал переменные. Обновлено мое сообщение. По-прежнему возникает ошибка при присвоении var возвращаемым данным. – Steve

+0

@Priit, большое спасибо за вашу постоянную помощь. Голосуйте за вас, сэр. Почти там (thumb var не работает по какой-либо причине даже с оператором if). Посмотрите мое последнее обновление выше и дайте мне знать, если у вас есть предложения. – Steve

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