Как получить идентификатор сообщения, чтобы пройти через Ajax? - PullRequest
0 голосов
/ 29 сентября 2018

Допустим, у меня есть такой сайт, как Facebook, Twitter или любая другая социальная сеть.У меня есть посты в ленте.Я получаю список данных о каждом посте из бэкэнда.Эти данные содержат id, post description, number of likes, etc. Уникальный id способ идентификации каждого сообщения.

У меня настроена среда REST, где пользователю нравится публикация;он обновляет количество лайков этого поста и регистрирует пользователя, который ему понравился.Чтобы это произошло, мне нужно сделать AJAX-запрос на localhost/like/{post_id}

. Как я могу получить идентификатор сообщения?Должен ли я поместить этот идентификатор в data-attribute в кнопке «Мне нравится», и таким образом я смогу получить идентификатор таким образом?Если это так, следует ли указывать идентификатор во всех действующих функциях (например, кнопка, кнопка неприязни, кнопка «Поделиться» и т. Д.)?Вот как выглядит контейнер кнопок моего сообщения:

        <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>

Как лучше всего разместить идентификатор сообщения, получить его и передать как запрос POST в Ajax?

1 Ответ

0 голосов
/ 29 сентября 2018

Посмотрите на это:

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>

Вы можете получить идентификатор, подобный этому:

var posts = $('div[class="grid post__btn-container"]').children()

posts.on("click", function(){
  var postId = $(this).parent().data('postid')
  alert(postId)
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...