Как послать ajax запрос методом POST?

124
31 января 2021, 23:40
<div id="1">
Текст комментария
<span class="like_count">12</span>
<a class="like">мне нравится</a>
</div>

Мне нужно что бы по нажатию на ссылку с классом like посылался запрос на страницу site.com/api/like/ с POST параметрами comment_id = 1 (тут id комментария берется из родительского тега div) и like = up_count

При этом необходимо что бы числовое содержимое span тега увеличивалось на 1, то есть было 12 стало 13, но это после того как POST запрос отправлен.

Answer 1

CLICK надеюсь умеешь на LIKE посадить? Далее через .closest() находишь родителя DIV, у него получаешь атрибут ID https://api.jquery.com/jquery.post/

Выглядит примерно так (не проверял, могут быть ошибки)

$('.like').om('click',function(e){
    var parent = $(e).closest('div');
    $.post( "site.com/api/like/", { comment_id: parent.attr('id')} );
    // ниже код лучше на callback post посадить, но для примера пусть будет так, это проще воспринимать
    var count  = parent.find('like_count');
    count.html( parseInt(count.html() )+1 );
})
Answer 2
<script>
    jQuery('a.r3e').on('click',function () {
var id = jQuery(this).attr('id');
$.ajax({
url:"/api/reviews/uplike/",
method: "POST",
data: ({ id: id }), //отправляем постом id элемента
beforeSend: function(data) {
// выводим диалоговое окно о том что лайк проставляется
alert('ставим лайк');
},
complete: function(data) {
// лайк успешно поставлен, запрос post передан
alert('спасибо за активность на сайте');
}
});

return false;
});
</script>

решил вопрос таким способом

READ ALSO
некликабельные ссылки доб

некликабельные ссылки доб

подскажите, пожалуйста, почему когда напрямую пишу ссылку, то можно кликать на нее и переходить по ней, а если как в коде, приложенном далее,...

115
Стоит ли переходить на новые версиси NodeJs?

Стоит ли переходить на новые версиси NodeJs?

Дело в том, что на офсайте NodeJs есть 2 версии: новейшая и рекомендуемая

88
Не удаляется мутекс

Не удаляется мутекс

Создается мутекс HANDLE hHande = CreateMutex(0, 0, "mut_name");

131