簡體   English   中英

如何讓ajax加載更多內容,使用按鈕分頁工作

[英]How to make ajax load more content, using button pagination work

我打算使用 ajax 加載更多按鈕分頁將更多視頻加載到 div/頁面中,xhr 狀態顯示狀態為 ok(200) 但沒有加載視頻內容。

videos.php

<div id="videosline " class="col-md-3 content-grid ">

<?php //code to get first 3 videos working   ?>
</div>
<button id="loadvideos" class="btn ">Load More</button>

//ajax jquery 代碼在每次點擊按鈕時加載更多三個視頻

 $(document).ready(function(){
var videoscount = 3;
$("#loadvideos").click(function(){
    videoscount = videoscount + 3;
$.ajax({
     type:"GET",
     url:"loadmore.php",
     data:{

        'videosnewcount':videoscount
     },
     sucess: function(data){
        $('videosline').append(data);
     }

});

loadmore.php :

    <?php
       include 'master.php';//some php config and db config
       $videosnewcount = 3;
        $condition =  [];

        array_push($condition,['mediatype = ' => ['video/mp4','AND']]);



        $data = find('files',$condition,["ORDER BY " => "id DESC","LIMIT" => $videosnewcount ]); //php function for mysql query


        foreach($data as $video) { ?>

    <?php if($video['mediatype'] == 'video/mp4') { ?>


                <?php include('cards/video.php'); ?>



            } 
        }
        ?>

cards/video.php

<?php if(explode('/',$video['mediatype'])[0] == 'video') { ?>
    <a href="mediafile.php?id=<?= $video['id']?>&medianame=<?= $video['filename']?>"><div style=" height:;">
<video  controlslist="nodownload"  oncontextmenu="return false;" poster="member/<?= $video['poster'] ?>" style="height:250px; width:100%; " type="video/mp4" class="pr100"  src="member/<?= $video['path'] ?>" > </video</div></a><?php } ?>

我不知道這是否重要,但是在loadmore.php ,您沒有從Ajax調用中獲取GET參數,因此我不知道為什么要發送它。

重要的是, loadmore.php沒有回顯任何數據,因此您的Ajax響應應該為空。 另外,我看不到您向數據庫發送了任何查詢。 “從WHERE表中選擇...”在哪里?

您必須傳遞偏移量以跳過已加載的數據。

 <?php
           include 'master.php';//some php config and db config
           $videosnewcount = $_GET["videosnewcount"];
            $condition =  [];

            array_push($condition,['mediatype = ' => ['video/mp4','AND']]);



            $data = find('files',$condition,["ORDER BY " => "id DESC","LIMIT" => 10, "OFFSET" => $videosnewcount ]); //php function for mysql query


            foreach($data as $video) { ?>

        <?php if($video['mediatype'] == 'video/mp4') { ?>


                    <?php include('cards/video.php'); ?>



                } 
            }
            ?>

在JS文件中

var videoscount = 0;


   $("#loadvideos").click(function(){

    $.ajax({
         type:"GET",
         url:"loadmore.php",
         data:{

            'videosnewcount':videoscount
         },
         sucess: function(data){
            videoscount = videoscount + data.length;
            $('videosline').append(data);
         }

    });

您需要在“成功”上再添加1個“ c”

$.ajax({
    type:"GET",
    url:"loadmore.php",
    data:{'videosnewcount': videoscount},
    success: function(data){
        $('videosline').append(data);
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM