1

因此,我试图从我的 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>
                                    ';
4

1 回答 1

1

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

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

于 2012-06-11T22:32:09.740 回答