2013-08-05 2 views
1

В настоящее время я пытаюсь создать страницу с использованием api instagram, показывая последние фотографии с определенным тегом, а также пользователя, разместившего его, и даты, опубликованной. Я также пытаюсь использовать бесконечную загрузочную функциональность, при этом загрузка ajax в большем количестве столбцов instagram по мере того, как страница достигает дна.Ajax имя пользователя и дата Instagram API

Heres ссылка на живой сайт http://www.laithazzam.com/work/nukes/indexnew.php

Нажатие на красный да будет показывать видео, и идти прямо к корму Instagram.

настоящее время я использую решение Кристиана Меца нашли здесь, https://gist.github.com/cosenary/2961185

Я также возникли проблемы с проводкой дату, в первой начальной загрузки, а также в АЯКС нагрузок. Ранее я был в состоянии использовать этот следующий код, прежде чем пытаться реализовать решение xp/ajax от Christian.

var date = new Date(parseInt(data.data[i].created_time) * 1000); 
<p class='date'>"+(date.getMonth()+1)+"/"+date.getDate()+"/"+date.getFullYear()+"</p> 

Я думаю, что я не понимаю, как функция загрузки ajax, фактически функционирует. Как я также вытащил имя и дату через функцию успеха загрузки ajax?

$.ajax({ 
     type: 'GET', 
     url: 'ajax.php', 
     data: { 
     tag: tag, 
     max_id: maxid 
     }, 
     dataType: 'json', 
     cache: false, 
     success: function(data) { 
     // Output data 
     $.each(data.images, function(i, src) { 
     $("#instafeed").append('<img src="' + src + '">'); 
     }); 

     // Store new maxid 
     $('#more').data('maxid', data.next_id); 
     } 
    }); 
    }); 

ответ

0

data параметра функции обработчика success заполняется от того, что возвращает JSON ajax.php и структура будет соответствовать соответствующему образу. Похоже, что атрибут images этого объекта имеет только массив URL-адресов для изображений и других данных.

Вам нужно будет update this section of the PHP script, чтобы вернуть больше, чем просто массив URL-адресов для изображений, а также включить дополнительные данные, полученные из API-схемы Instagram.

Попробуйте обновить последнюю часть этого:

echo json_encode(array(
    'next_id' => $media->pagination->next_max_id, 
    'images' => $media->data 
)); 

Тогда вы будете иметь полный доступ ко всем данным СМИ, а не только URL.

+0

О, прямо сейчас, спасибо, что имеет смысл. Что еще немного нечеткое, что делает вывод jquery таким массивом информации, src изображения? часть, я не совсем понимаю, как это относится к instagram api, и что бы вытащить только имя пользователя вместо этого? –

+0

Метод '.each()' перебирает массив изображений, содержащий строки URL-адреса источника изображения и вызывающие функцию для каждого из них. Каждый раз, когда функция вызывается, 'i' устанавливается в позицию в массиве, а' src' - это переменная, установленная на значение для текущей итерации. Если вы измените свой сервер для возврата полного медиа-объекта, вам нужно будет сделать что-то вроде '$ .each (data.images, function (i, image) {...});' внутри этого блока вы можете сделать ' image.user.name' или независимо от того, какие имена атрибутов JSON должны получить нужные вам данные. –

+0

хорошо, и, изменив мой сервер, чтобы вернуть этот полный медиа-объект, будет использовать изменение, которое вы указали ранее, $ media-> data или же оно связано с этими строками? $ images = array(); foreach ($ media-> data as $ data) { $ images [] = $ data-> images-> standard_resolution-> url; } –

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