Django обновление данных шаблона с использованием ajax - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь периодически обновлять свои данные (10 секунд) на шаблоне Django, используя сценарии ajax. Я относительно новичок в разработке интерфейса.

Используя другие статьи, я могу это сделать. Но при каждом обновлении страницы создаются несколько потоков для обновления страницы, а запросы на обновление удваиваются каждые 10 секунд.

Ниже приведен мой django фрагмент шаблона:

<body id="page-top">
 <div class="table-responsive">
  <table class="table table-striped">
    <thead>
      <tr class="table-info">
        <th style="text-align:center">Parameter</th>
        <th style="text-align:center">A</th>
        <th style="text-align:center">B</th>
      </tr>
    </thead>
      <tbody>
      {% for para, details in manualData.items %}
      <tr>
         <th style="text-align:center" scope="row">{{ details.1.name }}</th>
           {% for key, entity in details.items %}
        <td style="text-align:center">
                <font color="white" size="4px">{{ entity.value }}</font>
            </td>
           {% endfor %}
          </tr>     
      {% endfor %}
      </tbody>
  </table>
 </div>
</body>

Я использую сценарий ajax следующим образом:

<script type="text/javascript">
        function refresh() {
         var_ref =  $.ajax({
                success: function (data) {
                    $('#page-top').html(data);
                }
            });
        }
        $(function () {
            setInterval('refresh()', 10000);
        });
    </script>

В заключение все, что мне нужно, это:

после процесса обновления , новый процесс должен не быть создан, или прошлый процесс должен быть прерван, если новый процесс должен быть определен .

Пожалуйста, помогите мне достичь того же.

Заранее спасибо

Накул

1 Ответ

0 голосов
/ 23 апреля 2020

Вам нужно, чтобы ваш вызов ajax был синхронным, а не asyn c, таким образом вы будете блокировать поток до тех пор, пока не получите требуемые данные

. Это можно сделать, добавив , соответствующий атрибут ajax call

Когда в отрасли вы обычно используете систему шаблонов для загрузки чего-то вроде реакции, angular или vue, которые постоянно обновляют DOM, не делая бесконечными опрос

...