在我的HTML页面上,我有一个获得函数getStatus()的值的范围:
<span id="sysStatus" style="font-weight: bold;">{{ status }}</span>
返回状态的函数:
def getStatus():
state = database().getState()
if state:
status = " On"
else:
status = "Off"
return status
渲染html页面:
class Tongles(flask.views.MethodView):
def get(self):
return flask.render_template('page.html', status=getStatus())
我想以某种方式动态刷新系统的状态,以及跨度上的文本。
如何在不重新加载整个页面的情况下调用函数getStatus?
答案 0 :(得分:6)
flask_app.py 为getStatus方法添加路由
...
@app.route("/myStatus")
def getStatus():
state = database().getState()
if state:
status = " On"
else:
status = "Off"
return status
...
page.html 使用ajax回调来使用jquery填充div(如果需要,还可以填充其他内容)
...
<span id="sysStatus" style="font-weight: bold;">{{ status }}</span>
...
...
<script>
$(document).ready(function() {
setInterval("ajaxd()",10000); // call every 10 seconds
});
function ajaxd() {
//reload result into element with id "sysStatus"
$("#sysStatus").load("/myStatus", function() { alert( "Load was performed." ); });
}
</script>
...