Javascript 如何使用ajax将数据从flask获取到模板?
我在flask中有一些数据,我需要在我的模板中获取和使用这些数据,但是获取应该使用ajax异步完成,并且每15毫秒一次 我找到的大多数解决方案都是另一种方式,比如通过ajax从模板到烧瓶,但我需要的是相反的方式Javascript 如何使用ajax将数据从flask获取到模板?,javascript,python,jquery,ajax,flask,Javascript,Python,Jquery,Ajax,Flask,我在flask中有一些数据,我需要在我的模板中获取和使用这些数据,但是获取应该使用ajax异步完成,并且每15毫秒一次 我找到的大多数解决方案都是另一种方式,比如通过ajax从模板到烧瓶,但我需要的是相反的方式 @application.route('/test', methods=['GET','POST']) def test(): data = (some data i want to fetch every 15ms on test.html) return render_tem
@application.route('/test', methods=['GET','POST'])
def test():
data = (some data i want to fetch every 15ms on test.html)
return render_template('test.html', data=data)
异步或Ajax请求类似于使用模板的routes和view函数,唯一的区别是它不返回HTML或重定向,只返回格式化为XML或更常见的JSON的数据。下面可以看到以JSON格式返回用户信息的示例: 在服务器上:
from flask import jsonify
@app.route('/ajax_example/<int:id>', methods=['GET'])
@login_required
def get_user(id):
user = User.query.get_or_404(id)
return jsonify(user)
在客户机上:
<script>
$(function() {
setInterval(function() {
$.ajax('{{ url_for('main.get_user') }}).done(
function(get_user_info) {
*blahblahblah*
}
);
}, 10000);
});
</script>
请解释一下15毫秒的短间隔。你需要重新绘制整个页面吗?@FedericoklezCulloca我需要绘制一个活动图,但一个新值将不断从flask中出现,我将在模板上使用该值,并通过扩展跟踪方法将其添加到plotly plot中。问题是,我如何每15毫秒从flask中提取一个新值到另一个flask中使用ajax创建模板,无需重新加载pageCheck setInterval。但正如克劳斯所说,15毫秒有点短,可能会让你的用户讨厌你。您是否考虑过,有了这些要求,web应用程序可能不是最佳解决方案?@FedericoklezCulloca是的,我知道setinterval我的疑问是如何使用jquery的$.ajax从flask中获取数据并使用它,我没有使用很多Ajax,在考虑我是新手之前,我如何为第一个模板提供模板?time@PraharshMishra您需要两个路由—1用于呈现页面,2用于获取json格式的数据