Передача ID через ajax

Всем привет. есть кнопка "Лайк" при клике которой счетчик должен увеличиваться на 1. ID на сервер отправляется и в БД записывается новое значение счетчика, но на странице визуально ничего не происходит, лишь только после обновления страницы счетчик увеличивается. То есть по сути не работает ajax.

<p class="like-counter">
    <a data-id="<?=$id;?>" class="counter pull-right">
        <i class="fa fa-thumbs-up"></i> <span><?=$comment['vote'];?></span>
    </a>
</p>

$('.like-counter').on('click', '.counter', function (e) {
e.preventDefault();
var id = $(this).data('id');
$.ajax({
    url: location.href,
    data: {id: id},
    type: 'GET',
    success: function (count) {
        count = parseInt(element.find('span').text());
        element.find('span').text(count+1);
        console.log(count);
    },
    error: function () {
        alert('Error, try again.');
    }
});
});

Я так понимаю в блоке success неверный код. Как сделать правильно?


Ответы (2 шт):

Автор решения: lev_

Ну хорошо, как теперь полученное значение записать в span? я что-то делаю не так

<p class="like-counter">
    <a data-id="<?=$id;?>" class="counter pull-right">
        <i class="fa fa-thumbs-up"></i> <span><?=$comment['vote'];?></span>
    </a>
</p>

$('.like-counter').on('click', '.counter', function (e) {
e.preventDefault();
var id = $(this).data('id');
$.ajax({
    url: location.href,
    data: {id: id},
    type: 'GET',
    success: function (html) {
        var count = $(html).find('a[data-id=' + id + '] span').text();
        // $('.counter span').html(count++);
        console.log(count);
    },
    error: function () {
        alert('Error, try again.');
    }
});
});
→ Ссылка
Автор решения: Igor
var a = this;
$.ajax({
  ...
  success: function () {
    var c = parseInt($(a).find('span').text()) || 0;
    $(a).find('span').text(c + 1);
  },
→ Ссылка