我使用 ajax 函数将更多照片加载到页面中。我将此功能用于用户上传的图像及其提要,它们都在 API url 的末尾使用“max_id”参数...当我尝试将此功能用于喜欢时,它不起作用,因为喜欢的媒体url 以“max_like_id”结尾。我不知道为什么,但也许你们可以帮助我!这是我的所有代码:
<script type="text/javascript">
$(document).ready(function() {
$('#more').click(function() {
var user = $(this).data('user'),
maxid = $(this).data('maxid');
$.ajax({
type: 'GET',
url: 'ajaxloadlikes.php',
data: {
user: user,
max_like_id: maxid
},
dataType: 'json',
cache: false,
success: function(data) {
$.each(data.images, function(i, img) {
$('ul#photos').append('<a href="/media.php?user=' + img.user + '&id=' + img.id + '"><img src="' + img.url + '" alt="" /></a>');
});
// Store new maxid
$('#more').data('maxid', data.next_id);
}
});
});
});
</script>
<a id="more" data-maxid="'.$liked_media->pagination->next_max_like_id.'" data-user="self'">Load More</a>
然后我的 ajaxloadlikes.php 有这个:
$maxID = $_GET['max_like_id'];
$userID = $_GET['user'];
$accessID = **access token**;
$next = "https://api.instagram.com/v1/users/self/media/liked?access_token={$accessID}&max_like_id={$maxID}";
$json = file_get_contents($next);
$media = json_decode($json);
// Collect everything for json output
$images = array();
foreach ($media->data as $data) {
$images[] = array('id' => $data->id, 'url' => $data->images->low_resolution->url, 'user' => $data->user->username);
}
echo json_encode(array('next_id' => $mine->pagination->next_max_like_id, 'images' => $images));
如果我将 $next url 设置为“max_id”而不是“max_like_id”,它只会一遍又一遍地加载相同的图像......
谢谢你的帮助!