jqueryajax:Total喜欢在按下Like按钮时不更新帖子

jqueryajax:Total喜欢在按下Like按钮时不更新帖子,jquery,html,json,ajax,Jquery,Html,Json,Ajax,两个JQuery Ajax调用。首先从MySQL返回用户消息、该消息的喜欢次数以及用户喜欢该消息的按钮。这个请求正在生效 用户按下根据第一个Ajax请求创建的like按钮触发第二个Ajax请求。但是,按下按钮时似乎什么也没有发生(没有错误)。试图将结果作为警报或在控制台中查看,但未发生任何事情 Ajax请求1: dataType: 'json', success: function(response) { $.each(response, function() { $.each

两个JQuery Ajax调用。首先从MySQL返回用户消息、该消息的喜欢次数以及用户喜欢该消息的按钮。这个请求正在生效

用户按下根据第一个Ajax请求创建的like按钮触发第二个Ajax请求。但是,按下按钮时似乎什么也没有发生(没有错误)。试图将结果作为警报或在控制台中查看,但未发生任何事情

Ajax请求1:

dataType: 'json',
success: function(response) {

  $.each(response, function() {
      $.each($(this), function(i, item) {
      var mycss = (item.Type == 1) ? ' style="color: #ffa449;"' :'';
      $( '.content' ).append( '<div class="post"><div class="post-text"> ' +item.MessageText+ ' </div><div class="post-action"><input type="button" value="Like" id="like_'+item.ID+'_'+item.UserID+'" class="like" '+mycss+' /><span id="likes_'+item.ID+'_'+item.UserID+'">'+item.cntLikes+'</span></div></div>');

      });
  });
}

编辑:按要求单击第二个Ajax请求代码:

$(".like").click(function(){

你试过回应目标吗?还是只是简单的警报?如果不起作用,则表示未看到目标,特别是在附加元素时。所以你需要有一个静态的目标

$("#static-target").on("click",".real-target",function(){
 //do here
});

非常感谢。因此,我有了第一个Ajax请求,它在成功时通过返回的JSON数组循环,并创建一个输入按钮和一些ID和类以供引用。附加一个附加ID作为静态目标有什么帮助?你能给我一些建议吗?我还是一个初学者。在你的例子中,我猜是类。内容是你的静态目标,你迭代的成功JSON是真正的目标,而不是真正的id。它也可以是类,只要它在你的页面第一次加载时已经存在。我尝试了$(“.content”)。在(“单击”,“喜欢”,函数(),或者我应该动态地指出下面的一些方法…id=“like'+item.id+'+item.UserID+”。再次感谢您。是的,您可以使用类。like和为了区分单击的对象和其他对象。like类,您使用$(this)而不是动态id,可以尝试$(this).css(“颜色”:“红色”)要尝试查看,对于从中获取特定值,您可以使用data model=“set value here”并将值放在那里,然后利用.data(“model”)*这可以是不受限制的任何单词t word model。要获取并设置值以供进一步使用,您还可以使用value=”“with.val()或id=”“with.attr(“id”)为了获得特定的数据,虽然这是好的,但这也是坏的。因为您的数据将在DOM中显示,所以像Vue.js这样的东西出现来解决这个问题。看起来您有一个打字错误:
$(“#likes_u“+postid+”“+userid)。text(likes);
。应该是
#like
。另外,使用下面的建议后,您是否看到发送的请求?@ternalhour谢谢。所以span有likes和按钮式的类名。或者我没有理解。我尝试了下面的方法,但可能语法错误,因为它不起作用。我尝试过的代码下面的答案显示在回答下面的注释。再次感谢。哦,我明白了,我没有注意到。你会提供你正在修改的外部HTML吗?@EternalHour所以有一个div,它的类名为“content”,它环绕着所有消息和按钮。也就是说,它是静态的。这就是你所指的吗?是的。在这种情况下,
$(.content”)。在(“单击”,“.like”,function(){}
应该可以工作。是否有多个元素具有
.content
类?
$(".like").click(function(){
$("#static-target").on("click",".real-target",function(){
 //do here
});