在Instagram AJAX调用完成后需要更新AJAX url变量

时间:2015-02-10 17:03:02

标签: jquery ajax instagram

我有代码可以在使用AJAX调用加载页面后从Instagram自我提取中检索更多照片。它是通过点击页面上的按钮触发的。代码可以工作,但它一直在检索相同的照片。我知道它,因为AJAX网址保持相同的价值。我在AJAX调用完成后尝试更新AJAX URL。我最初使用PHP设置了AJAX url变量。我在AJAX成功函数中有代码来更新变量,但它似乎不起作用。我只想获取从AJAX调用返回的next_url值并向Instagram发出新请求。我无法弄清楚我做错了什么。这是我的代码:

$('#more').click(function() {
            var nexturl = '<?php echo $nexturl; ?>';
            $.ajax({
                method: "GET",
                url: nexturl,
                dataType: "jsonp",
                jsonp: "callback",
                jsonpCallback: "jsonpcallback",
                success: function(data) {
                    // Output data
                    $.each(data.data, function(index, item) {
                            $('#photos').append('<div class="col-md-4"><img class="media" src="' + data.data[index].images.low_resolution.url + '"><div class="content"><div class="avatar" style="background-image: url(' + data.data[index].caption.from.profile_picture + ')"></div><p>' + data.data[index].caption.from.username + '</p><p>' + data.data[index].likes.count + ' likes</p><div class="comment">Comments:' + data.data[index].caption.text + '</div></div></div>');
                    });
                    // If the next url is not null or blank:
                    if ( data.pagination.next_url ) {
                        nexturl = data.pagination.next_url;
                    }
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    //alert("Check you internet Connection");
                    $("#log").val($("#log").val() + 'Error\n');
                }
            }); 
        }); 

更新: 这是我的新方法:

        // Show 'load more' button
    <?php echo "<br><button id=\"more\" data-nexturl=\"{$nexturl}\">Load      more</button>"; ?>
</div>
    <div id="log"></div>
    <script>
        $(document).ready(function() {
          $('#more').click(function() {             
                nexturl = $(this).data('nexturl');              
            $.ajax({
              type: 'GET',
              url: nexturl,
              dataType: 'jsonp',
              jsonp: "callback",
              jsonpCallback: "jsonpcallback",
              cache: false,
              success: function(data) {
                // Output data
                $.each(data.data, function(index, item) {
                    $('#photos').append('<div class="col-md-4"><img class="media" src="' + data.data[index].images.low_resolution.url + '"><div class="content"><div class="avatar" style="background-image: url(' + data.data[index].user.profile_picture + ')"></div><p>' + data.data[index].user.username + '</p><p>' + data.data[index].likes.count + ' likes</p></div></div>');
                });                 
                // Store new next_url
                $('#more').data('nexturl', data.pagination.next_url);
              }
            });
          });
        });
    </script>

0 个答案:

没有答案