2010-08-13 5 views
3

pourquoi j'ai ce genre d'erreur dans mon code:Flickr API Erreur, rappel Json

"Erreur: jsonFlickrApi n'est pas défini"

$.getJSON('http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=669158895706254986e97354a3c7e9a9&photoset_id=72157623477817483&extras=original_format&format=json&jsoncallback;=?', 
    function(data){ 
     var classShown = 'class="lightbox"'; 
     var classHidden = 'class="lightbox hidden"'; 


     $.each(data.photoset.photo, function(i, rPhoto){ 
      var basePhotoURL = 'http://farm' + rPhoto.farm + '.static.flickr.com/' 
       + rPhoto.server + '/' + rPhoto.id + '_' + rPhoto.secret; 
...... 

il y a des problèmes Syme dans JSON type de données ou quelque chose d'autre, me suggèrent comment y remédier, pls

Merci

Répondre

6

La fin de votre URL est un peu loin, ceci:

....&jsoncallback;=? 

devrait être:

....&jsoncallback=? 

jQuery remplit cette méthode sur son propre avec une fonction dynamique nommée (votre function(data) est converti en cette fonction nommée ou JSONP au travail). Étant donné que le format est désactivé, il n'est pas remplacé correctement et la méthode par défaut est jsonFlickrApi.

Si vous visitez le url directly (ce qui est sans rappel), vous verrez qu'il ressemble à ceci:

jsonFlickrApi({ ... }) 

Si vous faites fournir un rappel (like this url), il ressemble à ceci:

myFunction({ ... }) 

C'est ce que jQuery devrait faire, mais en raison de l'URL malformée il ne remplace pas le ?, réparer et ça va le faire e à, et il appellera la méthode appropriée, au lieu de la méthode par défaut.

+2

Merde, je suis tellement stupide, désolé, un merci! – AlexC