gpt4 book ai didi

jquery - Python Flask 获取json数据显示

转载 作者:太空狗 更新时间:2023-10-29 21:52:48 26 4
gpt4 key购买 nike

我目前正在尝试向 sqlite 数据库显示每 5 秒更新一次的值列表。

我可以使用以下代码设法将结果转换为 JSON 格式:

@app.route('/_status', methods= ['GET',  'POST'])
def get_temps():
db = get_db()
cur = db.execute('select sensor_name, temp from cur_temps ORDER BY sensor_name')
#cur_temps = cur.fetchall()
return jsonify(cur.fetchall())

通过浏览器导航到网页返回

{
"BoilerRoom": 26.44,
"Cylinder1": 56.81,
"Cylinder2": 39.75,
"Cylinder3": 33.94
}

我想在网页上定期更新此数据,而无需再次加载整个页面。我陷入了第一个障碍,无法显示实际数据。我使用的 HTML 代码是

{% extends "layout.html" %}
{% block body %}
<script type=text/javascript>
$(function() {
$("#submitBtn").click(function() {
$.ajax({
type: "GET",
url: $SCRIPT_ROOT + "_status",
contentType: "application/json; charset=utf-8",
success: function(data) {
$('#Result').text(data.value);
}
});
});
});
</script>

<strong><div id='Result'></div></strong>

{% endblock %}

我已经从示例中选择了代码,但我需要一个指针。

已解决!!

新的 HTML 代码

<script type=text/javascript>
function get_temps() {
$.getJSON("_status",
function (data) {
$('#Cyl1').text(data.Cylinder1)
$('#Cyl2').text(data.Cylinder2)
$('#Cyl3').text(data.Cylinder3)
$('#BRoom').text(data.BoilerRoom);
}
);
}
setInterval('get_temps()', 5000);
</script>

<table id="overview">
<tr>
<th>Location</th>
<th>Temperature</th>
</tr>
<tr>
<td>Cylinder Top</td>
<td id="Cyl1"></td>
</tr>
<tr>
<td>Cylinder Middle</td>
<td id="Cyl2"></td>
</tr>
<tr>
<td>Cylinder Bottom</td>
<td id="Cyl3"></td>
</tr>
<tr>
<td>Boiler Room</td>
<td id="BRoom"></td>
</tr>

</table>

最佳答案

您的 AJAX 调用应该自动检测 JSON 响应,但显式告诉 jQuery 也无妨:

$.ajax({
type: "GET",
url: $SCRIPT_ROOT + "_status",
dataType: 'json',
success: function(data) {
$('#Result').text(data);
}
);

contentType 参数仅用于 POST 请求,告诉服务器您发送的数据类型。

data 对象包含您的 Flask jsonify() 响应返回的任何内容;在这种情况下,它将是一个带有 BoilerRoom 等键的 JavaScript 对象。

由于您是通过 GET 请求加载 JSON,因此您也可以使用 jQuery.getJSON() method这里:

$.getJSON(
$SCRIPT_ROOT + "_status",
function(data) {
$('#Result').text(data);
}
);

这与 $.ajax() 调用完全相同,但您可以省略 typedataType 参数,以及urlsuccess 参数只是位置元素。

关于jquery - Python Flask 获取json数据显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24735810/

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