【发布时间】:2021-08-18 19:51:01
【问题描述】:
我正在创建一个 Flask 应用程序,我刚刚开始尝试混合使用 Flask 和 javascript,我的脚本非常简单:
<!DOCTYPE html>
<html>
<body>
<button id="mybtn">click me to start</button>
<p>click the button to start the count</p>
<p id="demo"></p>
<script>
document.getElementById("mybtn").addEventListener("click", startTimer);
var t = 0;
function startTimer(){
var myVar = setInterval(myTimer, 5000);
}
function myTimer() {
t = t + 1;
//var d = new Date();
//var t = d.toLocaleTimeString();
document.getElementById("demo").innerHTML = t;
}
</script>
</body>
</html>
如果我尝试在烧瓶中实现它,它无法开始计数...为什么?我究竟做错了什么? Flask 输出没有显示任何内容,没有错误,甚至看不到我做错了什么。
<!DOCTYPE html>
{% extends "base.html" %}
{% block leftsidebar %}
<form method="POST">
<div class="bs-component">
<div class="card border-dark mb-3" style="max-width: 20rem;">
<div class="card-header">start the thing</div>
<div class="card-body">
<input type="submit" id="btncapt" class="btn btn-primary" name="start" value="start">
<img src="{{ img_source }}" style="width:80px;height:40px;" onerror="this.style.display='none'">
</div>
</div>
</div>
</form>
<div class="bs-component">
<div class="card border-dark mb-3" style="max-width: 20rem;">
<div class="card-header">Respuesta</div>
<div class="card-body">
<p class="card-text" id="updtval">
</p>
</div>
</div>
</div>
<script>
document.getElementById("btncapt").addEventListener("click", startTimer);
var t = 0;
function startTimer(){
var setime = setInterval(myTimer, 5000);
}
function myTimer(){
t = t + 1;
document.getElementById("updtval").innerHTML = t;
}
</script>
{% endblock %}
这是我的烧瓶应用:
@app.route('/vistgen', methods = ['GET','POST'])
def vgen():
img_pause = '/static/img/bootstrap_icons/pause-circle.svg'
img_working = '/static/img/animated_captura.gif'
if request.form.get('start') == 'start':
return render_template('vistgen.html', img_source = img_working)
else:
return render_template('vistgen.html', img_source = img_pause)
【问题讨论】:
-
“Flask 输出没有显示任何东西”你为什么会期望它呢? Flask 是server,定时器运行在client。现在,如果页面无法加载,那么我将检查烧瓶终端输出。但是,您需要检查 JavaScript 控制台是否有错误。
-
@Jared Smith。我在谈论错误或异常......不过,感谢您的输入,不知道 js 终端输出(对所有这些来说都是新的)
标签: javascript flask