假设我有一个类似Facebook,Twitter或任何社交网络的网站。我在Feed中有帖子。我从后端检索有关每个帖子的数据列表。此数据包含id, post description, number of likes, etc.
。唯一的id
是识别每个帖子的一种方法。
我建立了一个REST框架,以便用户喜欢该帖子;它会更新该帖子的“喜欢”计数,并在用户喜欢该帖子时对其进行注册。为此,我需要在localhost/like/{post_id}
如何获取帖子的ID?我是否应该将此ID放在“喜欢”按钮的data-attribute
中,那样我才能像这样检索ID?如果是这种情况,我应该在所有可操作的功能(例如按钮,不喜欢的按钮,共享按钮等)中添加ID吗?
这是我帖子的按钮容器的外观:
<div class="grid post__btn-container">
<div class="item">
<i class="like"></i>
</div>
<div class="item">
<i class="dislike"></i>
</div>
<div class="item">
<i class="share"></i>
</div>
<div class="item">
<i class="comment"></i>
</div>
</div>
在Ajax中放置帖子ID并将其作为POST请求传递并传递的最佳方法是什么?
答案 0 :(得分:3)
看看这个:
https://jsfiddle.net/x5m7j0Lk/
给出这样的设置
<div class="grid post__btn-container" data-postid="123">
<div class="item">
<i class="like">Like</i>
</div>
<div class="item">
<i class="dislike">Dislike</i>
</div>
<div class="item">
<i class="share">Share</i>
</div>
<div class="item">
<i class="comment">Comment</i>
</div>
</div>
<div class="grid post__btn-container" data-postid="456">
<div class="item">
<i class="like">Like</i>
</div>
<div class="item">
<i class="dislike">Dislike</i>
</div>
<div class="item">
<i class="share">Share</i>
</div>
<div class="item">
<i class="comment">Comment</i>
</div>
</div>
您可以像这样检索ID:
var posts = $('div[class="grid post__btn-container"]').children()
posts.on("click", function(){
var postId = $(this).parent().data('postid')
alert(postId)
})