【发布时间】:2020-08-05 06:56:07
【问题描述】:
我正在尝试使用 ajax 脚本在 Django 模板上定期(10 秒)更新我的数据。我是前端开发的新手。
使用其他文章,我可以这样做。但是每次页面刷新都会创建多个页面刷新线程,每10秒更新请求翻倍。
以下是我的 django 模板 sn-p:
<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>
最后,我只需要:
一旦刷新进程被调用,新进程应该不被 创建,否则如果要创建新进程,则中止过去的进程 定义。
请帮助我实现同样的目标。
提前致谢
纳库尔
【问题讨论】:
-
你的视图是什么样的,你在“数据”中有什么?
-
嗯,
id="page-top"是整个body... 也许您需要从后端请求或在前端重写更具体的内容,例如全局div在正文内,同时将脚本保留在此 div 之外。此外,您可能更喜欢在$( document ).ready()上启动计时器;
标签: django ajax django-templates