使用Jquery,PHP和Ajax进行无限滚动

时间:2012-06-11 22:04:59

标签: php jquery ajax pagination jquery-pagination

所以我试图在我的mysql数据库中从一个表中拉出一个无休止的滚动,我已经拥有它以便当到达页面底部时它会要求将新的评论数量拉到新闻源但由于某种原因,当它到达底部,但只是显示加载GIF和没有新的负载。我搞砸的任何帮助都会很棒。谢谢你们

这是我的jquery / ajax:

<script>
//Script to continue the home newsfeed after 10 posts
$(window).scroll(function() {
if($(window).scrollTop() === $(document).height() - $(window).height()) {
    $('div#load_more_posts').show();

    $.ajax( {
        url: "load_more_posts.php?lastPost=" + $(".display_newsfeed:last").attr("id"),
        success: function(html) {
            if(html) {
                $("#outputDiv").append(html);
                $('div#load_more_posts').hide();
            } else {
                $('div#load_more_posts').replaceWith("<center>Finished loading all Posts!</center>")
            }
        }
    });
}
 });
 </script>

以下是调用新闻源的代码部分:

<div class="outputDiv">
    <?php echo "$outputList"; ?><!-- Div for this output has been declared above in PHP before echoing -->
</div> <!-- END outputDiv -->

<div id='load_more_posts' style="display:none">
<center>
<img src="../../images/loading.gif" alt="Loading" />
</center>
</div>

最后,这是每篇评论的新闻源显示(display_newsfeed.php):

$review_query = mysql_query("SELECT * FROM `reviews` ORDER BY `review_date` DESC LIMIT 0,10");

while($review_row = mysql_fetch_assoc($review_query)){

    $review_title = $review_row['review_title'];
    $user_id = $review_row['user_id'];
    $user_firstname = $review_row['user_firstname'];
    $user_lastname = $review_row['user_lastname'];
    $review_id = $review_row['review_id'];
    $review_body = $review_row['review_body'];
    $review_referral = $review_row['review_referral'];


    $outputList .= '
                    <div class="display_newsfeed" id="'.$review_id.' display_newsfeed">
                        This code is each review
                        </div>
                                    ';

1 个答案:

答案 0 :(得分:1)

你在display_newsfeed.php中的while循环中缺少一个结束括号。您还在javascript中引用了ID为“outputDiv”的div,但该元素不存在(您在HTML中为其分配了一个'outputDiv'类)。不确定这些是否只是在这里粘贴代码的错别字,但其中任何一个肯定会导致问题。

如果这些都不是问题,那么最好的下一步就是确定问题所在。如果您的浏览器有开发人员控制台(或firebug),请仔细检查AJAX请求是否已经发出并查看它是否返回了预期的HTML。如果是,问题肯定在于客户端代码(特别是成功回调中的内容,除非请求根本没有出去)。如果没有,问题肯定是服务器上的脚本。