【发布时间】:2020-06-28 23:00:49
【问题描述】:
我的网站中有一个 like 系统。每条消息都有一个赞按钮和旁边的计数器。
现在,当有人点击 Like 按钮时,它应该立即变为 1,如果另一个用户点击相同的消息,它会变为 2,以此类推。
我创建了执行此操作所需的 AJAX 函数,但我使用的是 document.getElementById,它只检索找到的第一个实例并查看来自 ajax 请求的响应。
我怎样才能使它可以查看每条消息?
这是我的 AJAX 请求:
jQuery(document).ready(function($){
$('.msg-icon').on('click', function(e){
e.preventDefault();
var reply_id = $(this).find('input[name="replymsg"]').val();
var request = reply(reply_id);
request.done(function() {
checkLikes(reply_id);
});
});
});
function reply(reply_id) {
return $.ajax({
data: reply_id,
type: "post",
url: "replyfavorite.php?replymsg="+reply_id,
});
}
function checkLikes(reply_id) {
return $.ajax({
data: { reply: reply_id },
type: "get",
url: "checkLikes.php?reply=" + reply_id,
success: function(data) {
document.getElementById('likesCount').innerHTML = data; //what can i change here to make the data go to each clicked button?
}
});
}
这是用户为每条消息单击的我的 html 按钮:
<a href="" class="msg-icon" >
<i class="fas fa-heart fa-lg" id="favBtn" style="color: #e74f4e !important;" >
<span id="likesCount"><?php echo $row3['likes_count'] ?>
</span></i></a>
代码运行良好我唯一的问题是如何让响应仅转到单击的消息按钮。
【问题讨论】:
-
@RokoC.Buljan 这是问题中的一个错字............
-
@RokoC.Buljan 你对我的问题有什么解决办法吗?
-
我只是确保问题没有缺少结束标签。 (提问时请务必创建一个minimal reproducible example - 不要遗漏详细信息 - 否则您将收到子 cmets 而不是详细答案。)
-
你有这段代码:
$(this).find('input[name="replymsg"]').val()你能解释一下吗? -
@RokoC.Buljan 我没有遗漏任何内容......我已经说过代码工作正常,并准确解释了我的问题所在。请提供答案,不要将我的问题转移到其他地方
标签: javascript jquery ajax xmlhttprequest