Php Instagram API的Ajax分页尝试修复此错误
我正在尝试修复Instagram API的Ajax分页 只显示了20张照片。“加载更多”按钮不起作用 在控制台中:Php Instagram API的Ajax分页尝试修复此错误,php,jquery,ajax,pagination,instagram,Php,Jquery,Ajax,Pagination,Instagram,我正在尝试修复Instagram API的Ajax分页 只显示了20张照片。“加载更多”按钮不起作用 在控制台中: Uncaught ReferenceError: maxid is not defined 下面是index.php: <script> $(document).ready(function() { $('#more').click(function() { var max_id = $(this).data('nextid'); $.ajax({ t
Uncaught ReferenceError: maxid is not defined
下面是index.php:
<script>
$(document).ready(function() {
$('#more').click(function() {
var max_id = $(this).data('nextid');
$.ajax({
type: 'GET',
url: 'ajax.php',
data: {
max_id: maxid
},
dataType: 'json',
cache: false,
success: function(data) {
// Output data
$.each(data.images, function(i, src) {
$('#photos').append('<li><img src="' + src + '"></li>');
});
// Store new maxid
$('#more').data('maxid', data.next_id);
}
});
});
});
</script>
<?php
require_once 'instagram.class.php';
$instagram = new Instagram(array(
'apiKey' => '*****',
'apiSecret' => '*****',
'apiCallback' => '******'
));
// Receive OAuth code parameter
$code = $_GET['code'];
if (true === isset($code)) {
$data = $instagram->getOAuthToken($code);
$instagram->setAccessToken($data);
$media = $instagram->getUserMedia();
}
?>
<ul id="photos">
<?php foreach( $media->data as $data ): ?>
<li><img src="<?php echo $data->images->thumbnail->url ?>"></li>
<?php endforeach; ?>
<?php echo "<br><button id=\"more\" data-maxid=\"{$media->pagination->next_max_id}\">Load more ...</button>"; ?>
我正在使用
谢谢大家! 它怎么能比:
Uncaught ReferenceError: maxid is not defined
maxid
未在代码中定义。在这一行中定义的是max\u id
:
var max_id = $(this).data('nextid');
只有两个位置具有
maxid
:
在这里:
$.ajax({…
最大id:maxid
}, 在这里: //存储新的maxid
$('more').data('maxid',data.next_id) 当您使用定义的
max\u id
(感谢@mathieu)替换这些事件时,应该将其修复
在ajax.php
中,您有一行:
$maxID=$\u GET['next\u max\u id']
这与您上面的调用不一致,您有一个max\u id
。似乎您混合了一些next/max/id
。如果您查看代码并清理这些id,它应该可以工作。看起来像
.data('nextid');
是一个粗心的错误,因为它不存在于DOM中。除非它在其他地方,并且您还没有发布它
你的意思是
.data('maxid');
?您需要通过单击传递
事件
参数
并从event.target
将第一行代码更改为:
$('#more').click(function( event ) {
var max_id = $(event.target).data('nextid');
单击index.php中的“load more”(加载更多)按钮时出现此错误:>未捕获引用错误:未定义maxid,因此我需要放置什么来代替maxid?响应中有max_id和next_max_id:{“pagination”:{“next_url”:“******/media/recent?access_-token=33174964.1fb234f.707411a10e624f13b6b08dd806df1eab&max_-id=278169080197328255_-33174964”,“next_-max-id:“278169080197328255_-33174964”},你能告诉我更多细节吗?我试图将max-id从maxid更改为nextid。你是什么意思?”用定义的最大id替换这些事件时。。。"?在这两个来源中有
maxid
、nextid
、max\u id
和next\u max\u id
。这只是一个猜测,但这些名称的含义可能完全相同。你应该知道,因为这是你的代码。如果它们相同,你可以用max\u id
替换它们。根据经验法则:如果你使用something,在任何地方只给它一个名称,否则你或你的同事迟早会感到困惑。好的,这肯定是你的代码中的一个问题。它可能只是几个或多个名称中的一个。现在将maxid的值记录到控制台(或使用警报)设置后立即进行。如果未定义,则选择器将一无所获,您需要查看HTML。您应该发布生成的HTML,而不是创建HTML的服务器代码。我还将在ajax调用中检查进入成功处理程序的数据。这可能表明您的错误在服务器端。
$('#more').click(function( event ) {
var max_id = $(event.target).data('nextid');