Получение пустого словаря при POST ajax

Я пытаюсь удалить некоторые элементы в базе данных, когда пользователь нажимает на значок удаления, но поскольку я отправляю id через POST запрос, я получаю пустой словарь,

{% for skills in seeker_skills %}
           <div class="col-md-4">
            <button class="btn btn-info mx-2">{{skills.skill_name}}<span class="badge badge-dark ">{{skills.skill_level}}</span></button><span><i class="fas fa-trash-alt delete_skill" data-attr={{skills.id}} style="cursor: pointer;"></i></span>
           </div>
           {% endfor %}

Ajax код

    $.ajax({
        url:'/delete_skill/',
        method : 'POST',
        data: {
            skill_id:value
        },
        dataType: "json",
        contentType: "application/json",
        success :function(data){
            console.log(data)
            contain_label.remove()
            contain_icon.remove()   
        }
        ,
        error:function(e){
            console.log(e)

Мое мнение

@csrf_exempt
def delete_skill(request):
    if request.method == 'POST':
        data = {}
        print('method is post')
        job_id = request.POST.get('skill_id')
        print(job_id)
        try:
            Job_Skillset.objects.get(id=job_id).delete()
            data['status'] = 'deleted'
        except ObjectDoesNotExist:
            data['status'] = 'nodata'
        return JsonResponse(data,safe=False)

Вы устанавливаете тип содержимого application/json, что неверно, удалите его.

$.ajax({
    url:'/delete_skill/',
    method : 'POST',
    data: {
        skill_id:value
    },
    dataType: "json",
    success :function(data){
        console.log(data)
        contain_label.remove()
        contain_icon.remove()   
    }
    ,
    error:function(e){
        console.log(e)

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