Обновление данных с помощью ссылки href в django и ajax

$("#feedlikes").on("click", function(e){
        e.preventDefault();
        $.ajax({
            type: 'get',
            url:'{% url "feedlikes" %}',
            data:{},
            success: function({
                alert("Updated Successfully")
            }),
        }),
    }),

это мой код Ajax помогите мне заставить их работать. вот мой вид:

def feedlikes(request, feed_id):
    feed_update= Feeds.objects.get(pk=feed_id)
    feed_update.likes = feed_update.likes +1
    feed_update.save()

Если вам нужно обновить данные, вам нужно передать post метод в ajax с csrf_token в заголовках.

$("#feedlikes").on("click", function(e){
        e.preventDefault();
        $.ajax({
            type: 'post',
            url:'{% url "feedlikes" %}',
            data:{},
            headers: {
                'X-CSRF-Token': {{csrf_token}}
            },
            success: function({
                alert("Updated Successfully")
            }),
        }),
    }),

Ваша функция feedlikes ожидает feed_id, но вы не указываете его в ajax url. Ваш ajax url должен быть

url:'{% url "feedlikes" feed_id=1 %}'

Проблема: как получить идентификатор фида в ajax?

Вы можете сделать скрытый html тег с id равным #feedlikes-id (например feedlikes-1) внутри #feedlike div или что-то вроде этого и получить доступ чуть выше отправки ajax и сохранить в некоторой переменной и установить в url затем отправить.

Вернуться на верх