Пытаюсь сделать выпадающий список поиска/фильтра с select2 и ajax. моя самоопределенная функция is_ajax(request) не работает?

Я делаю проект на django, где есть выпадающий список поиска/фильтра для формы. Я использую select2 и ajax. Это не работает, и когда я пытаюсь отлаживать с помощью операторов печати, кажется, что функция is_ajax(request) не возвращает true.

Я знаю, что функция is_ajax() была устаревшей в JQuery, поэтому я определил ее сам. Однако моя, похоже, тоже не работает.

Вот часть моего представления, которая фильтрует объекты:

@login_required
def job_application_create(request):
    form = JobApplicationForm()
    if is_ajax(request):
        print('TESTING TESTING TESTING TESTING TESTING TESTING TESTING TESTING ')
        term = request.GET.get('term')
        companies = Company.objects.filter(name__icontains=term)
        response_content = list(companies.values())
        return JsonResponse(response_content, safe=False)
    

а вот определение is_ajax(request):

def is_ajax(request):
    return request.headers.get('x-requested-with') == 'XMLHttpRequest'
    

Вот JS на странице, где находится моя форма:

<script>
        $(document).ready(function () {
            $('#id_company').select2({
                ajax: {
                    url: "{% url 'homepage' %}",
                    dataType: 'json',
                    processResults: function (data) {
                        return {
                            results: $.map(data, function (item) {
                                return {id: item.id, text: item.name};
                            })
                        };
                    }
                },
                minimumInputLength: 1
            });
        });
    </script>
Вернуться на верх