使用AJAX的查询和结果不起作用-PHP

使用AJAX的查询和结果不起作用-PHP,php,jquery,html,ajax,Php,Jquery,Html,Ajax,var commentCount=2; $(文档).ready(函数(){ 警报(评论计数); }); 功能更多注释(ele){ commentCount=commentCount+2; 警报(评论计数); $(ele).parent(“.comment节”).find(“.comments”).load(“.morecomments.php”{ commentNewCount:commentCount }); } 删除函数和onclick属性,使用事件委派来委派单击事件,使用最接近来获取最接近

var commentCount=2;
$(文档).ready(函数(){
警报(评论计数);
});
功能更多注释(ele){
commentCount=commentCount+2;
警报(评论计数);
$(ele).parent(“.comment节”).find(“.comments”).load(“.morecomments.php”{
commentNewCount:commentCount
});
}

删除函数和onclick属性,使用事件委派来委派单击事件,使用最接近来获取最接近的
。注释部分
div,使用ajax post load将执行get请求

$('.comment-section').on('click','button',function(){
   $.post("morecomments.php", {
      postId:$(this)attr('data-id'),
      commentNewCount: commentCount
   },function(data){
         $(this).closest(".comment-section").find(".comments").html(data)
   });
})
不要忘记在ajax请求中传递post id

$post_id = $_POST['postId']; 
对于按钮问题,将html更改为

<button type="button" class="btn-primary getComments" value="<?php echo $comment_count; ?>" data-id="<?php echo $post_id;?>" onclick="more_comment(this);">Show more Comments</button> 

控制台中是否有任何错误?请求是否在浏览器的“网络”选项卡中启动?是否发生来自
更多注释
警报()
?jQuery
。parent
仅遍历所选对象的直接父对象,在这种情况下,即
元素。由于您正在筛选
.comment部分
,因此结果集为0,我想没有元素触发
.load
方法。您可能正在查找
.closest
。使用
.load
时,内容会被覆盖-我怀疑您的XHR会返回空响应?您是否检查了“网络”选项卡中的响应?看起来您的
morecoments.php
没有输出任何内容。但是.comment部分有其他按钮!那么,如何在on()函数中唯一地标识按钮呢?我将尝试返回。我听说使用event比onclick更好。这是真的吗?对于选择唯一按钮,我们可以用id替换代码中的按钮吗?像这样:“#btn id”?我看到你的新答案,它的逗号,见更新的答案
$('.comment-section').on('click','.getComments',function(){