Endless Scroll with Jquery, PHP, and Ajax


Endless Scroll with Jquery, PHP, and Ajax

所以我试图暗示从我的 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>
                                    ';
您在

display_newsfeed.php 中的 while 循环中缺少一个右括号。 你还在javascript中引用了一个ID为"outputDiv"的div,但该元素不存在(你在HTML中给它分配了一个'outputDiv'的CLASS)。 不确定这些是否只是将代码粘贴在此处的拼写错误,但其中任何一个都绝对可能导致问题。

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