2010-01-06 5 views
0

Pourquoi ce flux JSON renvoie-t-il des variables non définies alors qu'il travaille pour une autre variable? Qu'est-ce que je fais mal ou néglige? Merci.Erreur (variable indéfinie) dans jQuery

+0

Si je supprime le paramètre de rappel de l'URL, la réponse à votre question est évidente, mais je ne sais pas si les données sont valides. – ybo

+0

@ybo, supprimer callback =? à partir du lien lors du rendu dans le navigateur et il renvoie les données comme d'habitude. callback =? est nécessaire d'analyser les données avec $ .getJSON. Suppression du rappel =? de l'URL ne renvoie rien lorsque vous utilisez $ .getJSON. – Steve

+0

La structure JSON est correcte, mais le 'item ['media $ group'] ['media $ content'] [0] ['url']' et 'tem ['yt $ statistics'] ['viewCount']' don n'existe pas dans les données renvoyées. Êtes-vous sûr que le compte de l'utilisateur est correct et actif? –

Répondre

2

Si vous jetez un oeil à le contenu en réponse:

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

Vous voyez que groupe $ de entry.media et entry.yt statistiques $ ne sont pas là:

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

Edit: Tous les éléments ne contiennent pas le tableau media$content, vous devez donc modifier chacun de vos blocs de la façon suivante:

$.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']; 
    } 
}); 

J'ai écrit un script de test rapide pour cela et avec la clause if en place, il n'a plus jeté d'erreurs. Difficulté à dire que le lien fourni renverra une erreur (valeur de paramètre invalide: callback =?)

+0

@Priit, merci pour votre réponse. Vous avez raison, je remarque juste que les données renvoyées du compte que j'utilisais ne renvoient plus ces données depuis que j'ai récupéré les données plus tôt et que j'assignais maintenant des variables. Mise à jour de mon message Toujours une erreur lors de l'affectation de var aux données renvoyées. – Steve

+0

@Priit, merci beaucoup pour votre aide continue. Votez pour vous monsieur. Presque là (le pouce var ne fonctionne pas pour une raison quelconque même avec une instruction if). Voir ma dernière mise à jour ci-dessus et laissez-moi savoir si vous avez des suggestions. – Steve

Questions connexes