JQuery & Flickr API, неправильно получающий информацию о фотосете - PullRequest
1 голос
/ 29 июля 2010

Я пытаюсь использовать Flickr API для создания фотогалереи на моем веб-сайте, у меня есть API и фотосет, и я использую метод Flickr 'getPhotos', который возвращает фотографии из данного набора, и я вызываю это с помощьюjQuery.

Кажется, что все мои javascript работают нормально, за исключением тех случаев, когда возвращаются подробности фотосета Flickr, в момент создания моего местоположения src данные теряются ...

Во время отладки (с использованием Internet Explorer - F12) объект «данные» содержит ожидаемые детали с параметром фотосета, в этом параметре у меня есть параметр «фото», а внутри него - коллекция объектов [0-37]каждый из которых содержит параметры «ферма, идентификатор, секрет, сервер и заголовок» с ожидаемыми значениями.Тем не менее, когда я создаю свою HTML-переменную «theHtml» и заполняю пробелы указанными выше значениями, мое значение HTML устанавливается в «undefined».

Поэтому вместо получения ожидаемого: farm4.static.flickr.com/2480 / 1234567890_a1a1a1a1a1_b.jpg

Я получаю farmundefined.static.flickr.com/undefined/undefined_undefined_b.jpg

Кто-нибудь может мне это объяснить?

Вот мой код jQuery:

<script type="text/javascript">
 $(document).ready(function(){
 $.getJSON('http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&photoset_id=00000000000000000&format=json&jsoncallback=?', displayImages);
  function displayImages(data) {
   var theHtml = "";
   $.each(data.photoset, function(i,photo){
    var source = 'http://farm'+photo.farm+'.static.flickr.com/'+photo.server+'/'+photo.id+'_'+photo.secret+'_b.jpg';
    theHtml+= '<li><a href="'+photo.link+'" target="_blank">';
    theHtml+= '<img title="'+photo.title+'" src="'+source+'" alt="'+photo.title+'" />';
    theHtml+= '</a></li>';
   });
   $('#images').html(theHtml);
  };
 });
 </script>

<div id="images"></div>

исходный код var не создается.

Заранее спасибо!

1 Ответ

2 голосов
/ 29 июля 2010

Сортировка!

$.each(data.photoset, function(i,photo){ 

Должно было быть

$.each(data.photoset.photo, function(i,photo){
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...