Как получить данные из запроса Ajax и изменить HTML в соответствии с этим? - PullRequest
1 голос
/ 24 марта 2020

Я попытался сделать запрос ajax для получения статуса фоновой задачи, но я не могу получить данные.

Вот мой запрос Ajax;

var ii=setInterval(function()
        {
            $.ajax({
                type: "get",
                url: '{% url "data:status" %}',
                success:function (data)
                {
                    console.log(data)
                }
            });
        }, 5000);
        function Cii(){
            clearInterval(ii)
        }

Здесь это мой HTML;

 <div class="jumbotron text-center" id="status">
    <div id="display_status">
    {% if pending and running %}
    <p>{{pending}} Waiting.</p>
    <p>{{running}} Going on.</p>
    {% else %}
        {% if completed >= 0 %}
        <a href='#'> It's done, press for make prediction!</a>
        {% else %}
        <p>0 Waiting.</p>
        <p>0 Going on.</p>
        {% endif %}
    {% endif %}
 </div>
</div>

Вот функция, которая запускается из ajax запроса;

def get_process_status():
    now = timezone.now()
    pending_tasks = Task.objects.filter(run_at__gt=now)
    running_tasks = Task.objects.filter(locked_at__gte=now)
    completed_tasks = CompletedTask.objects.all()
    connection.close()
    return len(pending_tasks), len(running_tasks), len(completed_tasks)

А вот мое мнение;

@login_required(login_url = "user:login")
def process_status_view(request):
    if request.is_ajax():
        pending, running, completed = get_process_status()
        context = {
        "pending": pending,
        "running": running,
        "completed": completed,
        }
        return render(request, "pending_page.html", context)
    return render(request, "pending_page.html")

Как я могу это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...