Jaq*_*cky 1 javascript python flask
我想在我的页面上实现动画,当一个漫长的过程(如下面的Python Flask路线)正在运行时,它会在完成后消失.我怎样才能做到这一点?
@app.route('/test', methods=['GET','POST'])
def test():
if request.method=="POST":
if request.form.get('updatepaths')=='Update' and form.validate_on_submit():
Fname = form.name.data
Lname=form.name2.data
TimeConsumingFunction(Fname)
TimeConsumingFunction(Lname)
Run Code Online (Sandbox Code Playgroud)
您需要使用JavaScript来发出请求,显示一个微调器,然后在请求完成后删除微调器.例如,使用jQuery,此示例显示请求处理时的"等待"(或您放置的任何动画).
<a href="{{ url_for('test') }}" id="run">Run</a>
<span id="wait">Waiting</span>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
var run_link = $('a#run');
var run_wait = $('span#wait');
run_wait.hide();
$('a#run').click(function(event) {
event.preventDefault();
run_link.hide()
run_wait.show();
$.post($(this).attr('href'), function(data) {
run_wait.hide()
run_link.show();
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
您还可以使用Celery等任务队列在后台运行任务,而不是等待请求完成.这是有益的,因为任务可以继续运行超过请求的超时.
| 归档时间: |
|
| 查看次数: |
685 次 |
| 最近记录: |