gpt4 book ai didi

javascript - 使用 Ajax 刷新表数据在 django 中不起作用

转载 作者:行者123 更新时间:2023-11-28 18:00:56 24 4
gpt4 key购买 nike

第一次尝试使用 Django 构建 Web 应用程序。以下脚本中的表 UI 首次呈现数据。但是Ajax调用好像没有调用views.py中的get_more_tables刷新表数据。

我已经看过但对我的案子没有帮助Reload table data in Django without refreshing the page

主页.html


{% extends "templates_dashboard/base.html" %}
{% block content %}

<head>
<script src="https://code.jquery.com/jquery-3.2.1.min.js" type="text/javascript"></script> <!-- ADD THE CLOSING TAG HERE TOO! -->
</head>

<td class="more-padding-on-right">CURRENT RESPONSE TIME OF WEBSITES</td>
<table id="_response_time" class="table table-striped table-condensed">
<tr>
<th>Website</th>
<th>Current Response Time(ms)</th>
</tr>
{% for posts in posts2 %}

<td>{{ posts.website }}</td>
<td>{{ posts.response_time}}</td>
</tr>
{% endfor %}
</table>




<script> // <-- ADD THIS!
$(document).ready(function () {
var append_increment = 0;
setInterval(function() {
$.ajax({
type: "GET",
url: "{% url 'get_more_tables' %}",
data: {'append_increment': append_increment}
})
.done(function(response) {
$('#_response_time').append(response);
append_increment += 10;
});
}, 10000)
})
</script>
{% endblock content %}

get_more_tables.html

{% load static %}
{% for post in posts %}
<tr>
<td>{{ post.website}}</td>
<td>{{ post.response_time }}</td>
</tr>
{% endfor %}

网址.py

urlpatterns = [
path('', views.home , name='dashboard-home'),
path('about/',views.about, name='dashboard-about'),
path('get_more_tables', views.get_more_tables , name='get_more_tables'),
]

View .py

def get_more_tables(request):
logger.info('************************************************** Refreshing Table Content')
increment = int(request.GET['append_increment'])
increment_to = increment + 10
my_response = responseTime()
return render(request, 'templates_dashboard/get_more_tables.html', {'posts': my_response[increment:increment_to]})

我希望网站的表数据和响应时间通过在 get_more_tables 中打印记录器消息每 10 秒刷新一次。我看不到刷新的表数据或日志中的记录器消息,这让我认为没有调用 get_more_tables 函数。谁能帮我理解为什么没有调用 views.py 中的 get_more_tables 函数?

最佳答案

您提供的链接来 self 的旧答案!多么小的世界。

无论如何,您的问题都在这一行:

url: '{% url 'get_more_tables' %}',

单引号相互抵消 - 你应该让它看起来像这样:

url: "{% url 'get_more_tables' %}",

编辑

此外,您似乎缺少空缺 <script>在你的 JS 之前加上一个结束标记 </script>在您的 jQuery 之后添加标签导入:

<script src="https://code.jquery.com/jquery-3.2.1.min.js" type="text/javascript"></script> <!-- ADD THE CLOSING TAG HERE TOO! -->

<script> // <-- ADD THIS!
$(document).ready(function () {
var append_increment = 0;
setInterval(function() {
$.ajax({
type: "GET",
url: "{% url 'get_more_tables' %}",
data: {'append_increment': append_increment}
})
.done(function(response) {
$('#_response_time').append(response);
append_increment += 10;
});
}, 10000)
})
</script>

关于javascript - 使用 Ajax 刷新表数据在 django 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55770174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com