Как передать данные на django ajax?

Как передать данные фильтра из модели/вида Django в ajax? Я пытался передать данные, но это не дает никакого результата. Поле возврата ajax пустое. Из метода request get я пытался передать данные, все работает нормально. С помощью метода ajax я попытался сделать следующее, но он выбрасывает просто пустую область. Я проверил на консоли, значение фильтра правильно передается в представления, но из представлений оно не получает данные правильно. Это проблема успеха ajax или у моих представлений есть какая-то другая проблема? Пожалуйста, помогите мне

Мой HTML:

<ul class="widget-body filter-items ">
                                            {% for categories in categories%}
                                            <li  class = "sidebar-filter " data-filter="category" data-value="{{categories.id}}" ><a href="#">{{categories.name}}</a></li>
                                            
                                        {% endfor %}
                                        </ul>



<div class="product-wrapper row cols-lg-4 cols-md-3 cols-sm-2 cols-2">


{% for product in products%}

                    <div id = "product-wrapper" class="product-wrap product text-center">
{{product.name}}
{% endfor%}
</div>
</div>

Ajax:

$(document).ready(function () {
  $('.sidebar-filter').on('click', function () {
    var filterobj= {};
    $(".sidebar-filter").each(function(index, ele){
    
     /**var filterval = $(this).attr('data-value');*/
     /**var filterval = $(this).value=this.attr('title');*/
      /**var filterval = $(this).val($(this).text());*/
      var filterval=$(this).data("value");
      var filterkey = $(this).data('filter');
    
      
    filterobj[filterkey]= Array.from(document.querySelectorAll
      ('li[data-filter=' + filterkey+'].active')).map(function(el){
        /**return $(el).data("value");*/
        return $(el).data("value")
        /** return el.getAttribute('data-value');*/
      });
          
  
      
});
console.log(filterobj)   
  $.ajax ({
  url:"/products/filter-data",
  data:filterobj,
  datatype:'json',
  success:function(res){
   
    console.log(res.data)
    var bodyOnly = $(res.data).find('.product-wrapper').html();
    $('.product-wrapper').html(bodyOnly);
    console.log(bodyOnly)
    
  


}

});
});
});

Мой views.py:

def catfilter(request): 
    categories = request.GET.getlist('category[]')
    brands = request.GET.getlist('brands[]')
    products=Products.objects.filter(is_published=True).order_by('-id')
    
                   
    if len(categories)>0:
        products=Products.objects.filter(is_published=True).order_by('-id')
                        
    if len(brands)>0:
        products=Products.objects.filter(is_published=True).order_by('-id')
   
                      
    json_sort=render_to_string("./ecommerce/shop.html",{'data':products})
    return JsonResponse({'data':json_sort})
Вернуться на верх