1
我正在使用視頻評論系統,但無法弄清楚如何讓我的加載更多按鈕工作。到目前爲止,我的控制檯沒有顯示任何錯誤,也沒有發生任何事情。我已經檢查了我的PHP腳本,看起來一切看起來都不錯,而且我也從中得不到任何錯誤。使用PHP和AJAX加載更多評論按鈕
我對JavaScript還是很陌生,所以我覺得問題出在某個地方。任何有經驗的人都可以看看並向我解釋我哪裏出錯了?
視頻註釋部分:
<div class="comments-display">
<?php
//Get Comments from db
$get_comments = db::getInstance()->query("SELECT * FROM video_comments WHERE video_id = ? LIMIT 0, {$resultsPerPage}", array($vid_id));
if(!$get_comments->results()){ ?>
<div class="comment-body">
<p class="text-center">No Comments....</p>
</div>
<?php
} else {
foreach ($get_comments->results() as $comment) { ?>
<div class="comment-header">
<?php echo $comment->username . ' | ' . $comment->added; ?>
</div>
<div class="comment-body">
<p><?php echo $comment->comment; ?></p>
</div>
<?php
$x++;
}
if($x == $resultsPerPage) {
?>
<li class="loadbutton"><button class="loadmore" data-page="2">Load More</button></li>
<?php
} else {
echo 'no more comments';
}
}
?>
</div>
Ajax請求:
<script type="text/javascript">
$(document).on('click', '.loadmore', function() {
$(this).text('Loading...');
var btn = $(this).parent('li');
$.ajax({
url: 'load.php',
type: 'POST',
data: {
page:$(this).data('page'),
},
success: function(response){
if(response){
btn.hide();
$(".comments-display").append(response);
} else {
alert("error");
}
}
});
});
</script>
Load.php
if(isset($_POST['page'])){
$vid_id = 123;
$paged = 2;
$resultsPerPage = 6;
$x = 0;
if($paged>0){
$page_limit = $resultsPerPage*($paged-1);
$query = "LIMIT {$page_limit}, {$resultsPerPage}";
}else{
$query = " LIMIT 0 , {$resultsPerPage}";
}
$comments = db::getInstance()->query("SELECT * FROM video_comments WHERE video_id = ? {$query}", array($vid_id)); ?>
<div id="comments_post" class="comments-display">
<?php
foreach ($comments->results() as $comment) { ?>
<div class="comment-header">
<?php echo escape($comment->username) . ' | ' . $comment->added;
</div>
<div class="comment-body">
<p><?php echo escape($comment->comment); ?></p>
</div>
<?php
$x++;
}
if($x == $resultsPerPage) {
?>
<button class="loadmore" data-page="2">Load More</button>
<?php
} else {
echo '<h6 class="font-6 text-center pk-blue"> No more Comments! </h6>';
}?>
</div>
<?php
}
按鈕文字變成「加載...」嗎? –
沒有任何事情發生 – ShiggyDooDah
您的控制檯是否返回*任何*?您的查詢是否在'load.php'中觸發?你檢查過了嗎?你有沒有在控制檯中檢查'$ .ajax()'響應? 'escape($ comment-> username)'escape()'定義在哪裏?你是否驗證過,if(isset($ _ POST ['page'])){'正在被滿足?應該是,但無論如何檢查(添加一個'else {}'所以它返回的東西)。 'db :: getInstance()'在哪裏定義?你有沒有包含你的連接文件? – Marcus