Фрагмент html-шаблона не обновляется корректно при работе с ajax

У меня есть шаблон Django, который отображает иерархию рабочих, используя библиотеку django mttp.

{% extends "base.html" %}
{% load static mptt_tags  %}

{% block content %}
<ul class="root" >
    <button type="button"  id="full-button">Click</button>
    {% recursetree object_list %}
    
        <li>
            {{node.first_name}} {{node.last_name}} {{node.middle_name}}
            {% if not node.is_leaf_node %}
                <ul class="children" id="update">
                        {{ children }} 
                </ul>
            {% endif %}
        </li>
    {% endrecursetree %}
</ul>



<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="{% static "scripts/treeOpen.js" %}"></script>
{% endblock content %}

При первой загрузке страницы отображаются только первые два уровня иерархии. Задача состоит в том, чтобы реализовать ленивую загрузку, чтобы пользователь щелкнул на кнопке и только после этого загрузились все уровни.

Я пытаюсь сделать это с помощью Ajax

$(document).ready(function () {
    $('#full-button').click(function (event) {
        console.log("work")
        openFull();
    });

    function openFull() {
        $.ajax({
            url: '/tree/',
            method: 'GET',
            data: { 'full': 1 },
            success: function (data) {
                console.log('success')

                $('.root').html(data);
            },
            error: function (xhr, textStatus, errorThrown) {
                console.log('Error ajax request: ' + errorThrown);
            }
        });
    }
});

и на самом деле, в консоли у меня успешное подавление базы данных, то есть ajax работает корректно, но фрагмент кода обновляется некорректно.

У меня такая проблема, как на экране

my problem

Пожалуйста, скажите мне, кто более компетентен в этом вопросе.

Я также попробовал сначала очистить фрагмент с помощью метода empty

   $('.root').empty();

или

   $('.root').html('');
   $('.root').html(data);

но ничего не помогает.

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