Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用ajax将数据从flask获取到模板?_Javascript_Python_Jquery_Ajax_Flask - Fatal编程技术网

Javascript 如何使用ajax将数据从flask获取到模板?

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

我在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_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格式的数据