【发布时间】:2019-12-10 20:31:07
【问题描述】:
我认为这是一个简单的问题。但是我完全了解 AJAX,并且一直在四处寻找,但没有找到任何我能找到适用的东西。
单击按钮时,我正在从 Flask 应用程序/网络服务器中的路由获取数据。我试图在页面上相应的#id 元素中返回数据,但即使我指定了它们的 id,数据也只发送到第一个#id。此外,数据以随机顺序发送。在处理从烧瓶中检索到的 JSON 数据方面,我显然走错了路。
此外,我不明白 ajax/jquery 语言中函数(结果)、函数(数据)((未显示))、函数()((未显示))的用途。如果有人能详细说明那就太好了,我已经给它谷歌搜索,也找不到任何有用的东西。 有人有什么建议吗?谢谢
JQUERY/AJAX
$(document).ready(function() {
$('#data_refresh').click(function() {
$.getJSON($SCRIPT_ROOT + '/data_refresh', function(result) {
$.each(result, function(i, field){
$('#ph').text(data.ph);
$('#distance').text(data.distance);
$('#air_temp').text(data.air_temp);
$('#humidity').text(data.humidity);
$('#heat_index').text(data.heat_index);
});
});
});
});
HTML
<button id='data_refresh' type="button">Refresh Data</button>
<div class="sensor">
<h3> PH:<span id='ph'></span></h3>
</div>
<div class="sensor">
<h3> Water Temperature: <span id='water_temp'></span></h3>
</div>
<div class="sensor">
<h3> Water Level: <span id='distance'></span></h3>
</div>
<div class="sensor">
<h3> Air Temperature: <span id='air_temp'></span></h3>
</div>
<div class="sensor">
<h3> Humidity: <span id="humidity"></span></h3>
</div>
<div class="sensor">
<h3> Heat Index: <span id="heat_index"></span> </h3>
</div>
烧瓶/蟒蛇
@app.route("/data_refresh")
def data_refresh():
ser = serial.Serial('/dev/ttyUSB0', 9600, 8, 'N', 1)
data = ser.readline().rsplit()
# temp = temp_sensor1.read_temp()
ph = float(data[0])
distance = int(data[1])
humidity = float(data[2])
air_temp = float(data[3])
heat_index = float(data[4])
now = datetime.now().strftime("%A %-m/%d/%y %-I:%-M:%-S %p")
ser.close()
return jsonify(ph=ph, distance=distance, humidity=humidity, air_temp=air_temp, heat_index=heat_index, now=now)
【问题讨论】:
标签: python jquery html ajax flask