【发布时间】:2014-08-29 09:42:05
【问题描述】:
我正在使用带有 Ajax 的 Instagram PHP API 来获取用户媒体流,它为每个请求提供了相同的图像。
这是页面代码:
/**
* Instagram PHP API
*
* @link https://github.com/cosenary/Instagram-PHP-API
* @author Christian Metz
* @since 20.06.2012
*/
require_once 'api/instagram.class.php';
// Initialize class for public requests
$instagram = new Instagram('CLIENT_ID');
// Get recently tagged media
$media = $instagram->getUserMedia(USER_ID, LIMIT_NUMBER);
// Display first results in a <ul>
echo "<ul id=\"photos\">";
foreach ($media->data as $data) {
echo "<a target=\"_blank\" href=\"{$data->images->standard_resolution->url}\"><li><img src=\"{$data->images->low_resolution->url}\"></li></a>";
}
echo "</ul>";
// Show 'load more' button
echo "<br><div id='content'><div id='spinner'><img src='/wp-content/themes/tmg/ui/img/spinner.png' id=\"more\" data-maxid=\"{$media->pagination->next_max_id}\"></div></div>";
它是 AJAX.PHP
/**
* Instagram PHP API
*
* @link https://github.com/cosenary/Instagram-PHP-API
* @author Christian Metz
* @since 20.06.2012
*/
require_once 'api/instagram.class.php';
// Initialize class for public requests
$instagram = new Instagram('CLIENT_ID');
// Receive AJAX request and create call object
$tag = $_GET['tag'];
$maxID = $_GET['max_id'];
$clientID = $instagram->getApiKey();
$call = new stdClass;
$call->pagination->next_max_id = $maxID;
$call->pagination->next_url = "https://api.instagram.com/v1/users/4563432423/media/recent?max_id=436456456456456456&client_id=9089798ayut675675757a";
// Receive new data
$media = $instagram->getUserMedia('76766456534', 32);
// Collect everything for json output
$images = array();
foreach ($media->data as $data) {
$images[] = $data->images->low_resolution->url;
}
echo json_encode(array(
'next_id' => $media->pagination->next_max_id,
'images' => $images
));
AJAX 请求
$(document).ready(function() {
$('#more').click(function() {
var tag = $(this).data('tag'),
maxid = $(this).data('maxid');
$.ajax({
type: 'GET',
url: '<?php bloginfo( 'template_directory' ); ?>/ajax.php',
data: {
tag: tag,
max_id: maxid
},
dataType: 'json',
cache: false,
success: function(data) {
// Output data
$.each(data.images, function(i, src) {
$('ul#photos').append('<li><img src="' + src + '"></li>');
});
});
});
});
我的 API 请求成功,那么代码中的明显问题是什么,我对 PHP 知识不是很了解,有人做过,可以帮助我吗?
【问题讨论】:
-
你也可以为ajax请求发布你的JS吗?
-
@eithedog 刚刚添加到帖子中
-
除了设置一些类属性之外,您是否真的在使用
$call? -
据我所知,当您想从第一个 ajax 响应 (
data.pagination.next_url) 中获取下一页时,您正在对下一页进行硬编码......然后将其传递给下一个 ajax 请求
标签: php jquery ajax api instagram