2013-08-05 44 views
1

目前,我正在尝试使用instagram的api创建一个页面,显示带有特定标签的最近图片,以及发布它的用户和发布日期。我也试图拥有无限的加载功能,当页面到达底部时,在更多的Instagram帖子中加载ajax。Ajax用户名和日期Instagram API

继承人对活动网站http://www.laithazzam.com/work/nukes/indexnew.php

单击红色是将跳过的视频,并直接进入Instagram的饲料的链接。

我目前使用https://gist.github.com/cosenary/2961185

我也是一个具有与阿贾克斯负载发布之日起,在第一初始加载,还有一个问题,克里斯蒂安·梅斯的解决方案在这里找到。在尝试实施Christian的php/ajax解决方案之前,我以前能够使用以下代码。

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

success的处理函数的data参数从任何JSON ajax.php返回填充和结构将相应地匹配。它看起来像该对象的图像属性只有图像的URL数组,并没有其他数据。

您需要update this section of the PHP script才能为图像返回更多的URL,并且还包含从Instagram API检索的其他数据。

尝试更新的最后一部分,以这样的:

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(); ($ media-> data as $ data){ $ images [] = $ data-> images-> standard_resolution-> url; } –