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 で「outputDiv」の ID を持つ div を参照していますが、その要素は存在しません (HTML で「outputDiv」の CLASS を割り当てています)。これらがここにコードを貼り付けた単なるタイプミスかどうかはわかりませんが、いずれかが間違いなく問題を引き起こす可能性があります.

これらのいずれも問題でない場合、最善の次のステップは、問題がどこにあるかを特定することです。ブラウザーに開発者コンソール (または firebug) がある場合は、AJAX 要求が送信されていることを再確認し、期待される HTML が返されているかどうかを確認してください。そうである場合、問題は間違いなくクライアント側のコードにあります (特に、リクエストがまったく送信されない場合を除き、成功のコールバックに何かが含まれています)。そうでない場合、サーバー上のスクリプトに問題があることは間違いありません。

于 2012-06-11T22:32:09.740 に答える