如何获取帖子ID以通过Ajax?

时间:2018-09-29 00:53:56

标签: javascript jquery ajax

假设我有一个类似Facebook,Twitter或任何社交网络的网站。我在Feed中有帖子。我从后端检索有关每个帖子的数据列表。此数据包含id, post description, number of likes, etc.。唯一的id是识别每个帖子的一种方法。

我建立了一个REST框架,以便用户喜欢该帖子;它会更新该帖子的“喜欢”计数,并在用户喜欢该帖子时对其进行注册。为此,我需要在localhost/like/{post_id}

上发出AJAX请求

如何获取帖子的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请求传递并传递的最佳方法是什么?

1 个答案:

答案 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)
})